1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation -t --min_sdk_version current -pout/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationcommon_interface/preprocessed.aidl -pout/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice_interface/preprocessed.aidl --ninja -d out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice_internal-ndk-source/gen/staging/android/system/virtualizationservice_internal/IVirtualizationServiceInternal.cpp.d -h out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice_internal-ndk-source/gen/include/staging -o out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice_internal-ndk-source/gen/staging -Npackages/modules/Virtualization/android/virtualizationservice/aidl packages/modules/Virtualization/android/virtualizationservice/aidl/android/system/virtualizationservice_internal/IVirtualizationServiceInternal.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 <aidl/android/system/virtualizationcommon/Certificate.h>
18 #include <aidl/android/system/virtualizationservice/AssignableDevice.h>
19 #include <aidl/android/system/virtualizationservice/VirtualMachineDebugInfo.h>
20 #include <aidl/android/system/virtualizationservice_internal/AtomVmBooted.h>
21 #include <aidl/android/system/virtualizationservice_internal/AtomVmCreationRequested.h>
22 #include <aidl/android/system/virtualizationservice_internal/AtomVmExited.h>
23 #include <aidl/android/system/virtualizationservice_internal/IBoundDevice.h>
24 #include <aidl/android/system/virtualizationservice_internal/IGlobalVmContext.h>
25 #ifdef BINDER_STABILITY_SUPPORT
26 #include <android/binder_stability.h>
27 #endif  // BINDER_STABILITY_SUPPORT
28 
29 namespace aidl::android::system::virtualizationcommon {
30 class Certificate;
31 }  // namespace aidl::android::system::virtualizationcommon
32 namespace aidl::android::system::virtualizationservice {
33 class AssignableDevice;
34 class VirtualMachineDebugInfo;
35 }  // namespace aidl::android::system::virtualizationservice
36 namespace aidl::android::system::virtualizationservice_internal {
37 class AtomVmBooted;
38 class AtomVmCreationRequested;
39 class AtomVmExited;
40 class IBoundDevice;
41 class IGlobalVmContext;
42 }  // namespace aidl::android::system::virtualizationservice_internal
43 namespace aidl {
44 namespace android {
45 namespace system {
46 namespace virtualizationservice_internal {
47 class IVirtualizationServiceInternalDelegator;
48 
49 class IVirtualizationServiceInternal : public ::ndk::ICInterface {
50 public:
51   typedef IVirtualizationServiceInternalDelegator DefaultDelegator;
52   static const char* descriptor;
53   IVirtualizationServiceInternal();
54   virtual ~IVirtualizationServiceInternal();
55 
56   static constexpr uint32_t TRANSACTION_removeMemlockRlimit = FIRST_CALL_TRANSACTION + 0;
57   static constexpr uint32_t TRANSACTION_allocateGlobalVmContext = FIRST_CALL_TRANSACTION + 1;
58   static constexpr uint32_t TRANSACTION_atomVmBooted = FIRST_CALL_TRANSACTION + 2;
59   static constexpr uint32_t TRANSACTION_atomVmCreationRequested = FIRST_CALL_TRANSACTION + 3;
60   static constexpr uint32_t TRANSACTION_atomVmExited = FIRST_CALL_TRANSACTION + 4;
61   static constexpr uint32_t TRANSACTION_debugListVms = FIRST_CALL_TRANSACTION + 5;
62   static constexpr uint32_t TRANSACTION_requestAttestation = FIRST_CALL_TRANSACTION + 6;
63   static constexpr uint32_t TRANSACTION_enableTestAttestation = FIRST_CALL_TRANSACTION + 7;
64   static constexpr uint32_t TRANSACTION_isRemoteAttestationSupported = FIRST_CALL_TRANSACTION + 8;
65   static constexpr uint32_t TRANSACTION_getAssignableDevices = FIRST_CALL_TRANSACTION + 9;
66   static constexpr uint32_t TRANSACTION_bindDevicesToVfioDriver = FIRST_CALL_TRANSACTION + 10;
67   static constexpr uint32_t TRANSACTION_getDtboFile = FIRST_CALL_TRANSACTION + 11;
68   static constexpr uint32_t TRANSACTION_allocateInstanceId = FIRST_CALL_TRANSACTION + 12;
69   static constexpr uint32_t TRANSACTION_removeVmInstance = FIRST_CALL_TRANSACTION + 13;
70   static constexpr uint32_t TRANSACTION_claimVmInstance = FIRST_CALL_TRANSACTION + 14;
71   static constexpr uint32_t TRANSACTION_setDisplayService = FIRST_CALL_TRANSACTION + 15;
72   static constexpr uint32_t TRANSACTION_clearDisplayService = FIRST_CALL_TRANSACTION + 16;
73   static constexpr uint32_t TRANSACTION_waitDisplayService = FIRST_CALL_TRANSACTION + 17;
74   static constexpr uint32_t TRANSACTION_createTapInterface = FIRST_CALL_TRANSACTION + 18;
75   static constexpr uint32_t TRANSACTION_deleteTapInterface = FIRST_CALL_TRANSACTION + 19;
76 
77   static std::shared_ptr<IVirtualizationServiceInternal> fromBinder(const ::ndk::SpAIBinder& binder);
78   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IVirtualizationServiceInternal>& instance);
79   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IVirtualizationServiceInternal>* instance);
80   static bool setDefaultImpl(const std::shared_ptr<IVirtualizationServiceInternal>& impl);
81   static const std::shared_ptr<IVirtualizationServiceInternal>& getDefaultImpl();
82   virtual ::ndk::ScopedAStatus removeMemlockRlimit() = 0;
83   virtual ::ndk::ScopedAStatus allocateGlobalVmContext(int32_t in_requesterDebugPid, std::shared_ptr<::aidl::android::system::virtualizationservice_internal::IGlobalVmContext>* _aidl_return) = 0;
84   virtual ::ndk::ScopedAStatus atomVmBooted(const ::aidl::android::system::virtualizationservice_internal::AtomVmBooted& in_atom) = 0;
85   virtual ::ndk::ScopedAStatus atomVmCreationRequested(const ::aidl::android::system::virtualizationservice_internal::AtomVmCreationRequested& in_atom) = 0;
86   virtual ::ndk::ScopedAStatus atomVmExited(const ::aidl::android::system::virtualizationservice_internal::AtomVmExited& in_atom) = 0;
87   virtual ::ndk::ScopedAStatus debugListVms(std::vector<::aidl::android::system::virtualizationservice::VirtualMachineDebugInfo>* _aidl_return) = 0;
88   virtual ::ndk::ScopedAStatus requestAttestation(const std::vector<uint8_t>& in_csr, int32_t in_requesterUid, bool in_testMode, std::vector<::aidl::android::system::virtualizationcommon::Certificate>* _aidl_return) = 0;
89   virtual ::ndk::ScopedAStatus enableTestAttestation() = 0;
90   virtual ::ndk::ScopedAStatus isRemoteAttestationSupported(bool* _aidl_return) = 0;
91   virtual ::ndk::ScopedAStatus getAssignableDevices(std::vector<::aidl::android::system::virtualizationservice::AssignableDevice>* _aidl_return) = 0;
92   virtual ::ndk::ScopedAStatus bindDevicesToVfioDriver(const std::vector<std::string>& in_devices, std::vector<std::shared_ptr<::aidl::android::system::virtualizationservice_internal::IBoundDevice>>* _aidl_return) = 0;
93   virtual ::ndk::ScopedAStatus getDtboFile(::ndk::ScopedFileDescriptor* _aidl_return) = 0;
94   virtual ::ndk::ScopedAStatus allocateInstanceId(std::array<uint8_t, 64>* _aidl_return) = 0;
95   virtual ::ndk::ScopedAStatus removeVmInstance(const std::array<uint8_t, 64>& in_instanceId) = 0;
96   virtual ::ndk::ScopedAStatus claimVmInstance(const std::array<uint8_t, 64>& in_instanceId) = 0;
97   virtual ::ndk::ScopedAStatus setDisplayService(const ::ndk::SpAIBinder& in_ibinder) = 0;
98   virtual ::ndk::ScopedAStatus clearDisplayService() = 0;
99   virtual ::ndk::ScopedAStatus waitDisplayService(::ndk::SpAIBinder* _aidl_return) = 0;
100   virtual ::ndk::ScopedAStatus createTapInterface(const std::string& in_ifaceNameSuffix, ::ndk::ScopedFileDescriptor* _aidl_return) = 0;
101   virtual ::ndk::ScopedAStatus deleteTapInterface(const ::ndk::ScopedFileDescriptor& in_tapFd) = 0;
102 private:
103   static std::shared_ptr<IVirtualizationServiceInternal> default_impl;
104 };
105 class IVirtualizationServiceInternalDefault : public IVirtualizationServiceInternal {
106 public:
107   ::ndk::ScopedAStatus removeMemlockRlimit() override;
108   ::ndk::ScopedAStatus allocateGlobalVmContext(int32_t in_requesterDebugPid, std::shared_ptr<::aidl::android::system::virtualizationservice_internal::IGlobalVmContext>* _aidl_return) override;
109   ::ndk::ScopedAStatus atomVmBooted(const ::aidl::android::system::virtualizationservice_internal::AtomVmBooted& in_atom) override;
110   ::ndk::ScopedAStatus atomVmCreationRequested(const ::aidl::android::system::virtualizationservice_internal::AtomVmCreationRequested& in_atom) override;
111   ::ndk::ScopedAStatus atomVmExited(const ::aidl::android::system::virtualizationservice_internal::AtomVmExited& in_atom) override;
112   ::ndk::ScopedAStatus debugListVms(std::vector<::aidl::android::system::virtualizationservice::VirtualMachineDebugInfo>* _aidl_return) override;
113   ::ndk::ScopedAStatus requestAttestation(const std::vector<uint8_t>& in_csr, int32_t in_requesterUid, bool in_testMode, std::vector<::aidl::android::system::virtualizationcommon::Certificate>* _aidl_return) override;
114   ::ndk::ScopedAStatus enableTestAttestation() override;
115   ::ndk::ScopedAStatus isRemoteAttestationSupported(bool* _aidl_return) override;
116   ::ndk::ScopedAStatus getAssignableDevices(std::vector<::aidl::android::system::virtualizationservice::AssignableDevice>* _aidl_return) override;
117   ::ndk::ScopedAStatus bindDevicesToVfioDriver(const std::vector<std::string>& in_devices, std::vector<std::shared_ptr<::aidl::android::system::virtualizationservice_internal::IBoundDevice>>* _aidl_return) override;
118   ::ndk::ScopedAStatus getDtboFile(::ndk::ScopedFileDescriptor* _aidl_return) override;
119   ::ndk::ScopedAStatus allocateInstanceId(std::array<uint8_t, 64>* _aidl_return) override;
120   ::ndk::ScopedAStatus removeVmInstance(const std::array<uint8_t, 64>& in_instanceId) override;
121   ::ndk::ScopedAStatus claimVmInstance(const std::array<uint8_t, 64>& in_instanceId) override;
122   ::ndk::ScopedAStatus setDisplayService(const ::ndk::SpAIBinder& in_ibinder) override;
123   ::ndk::ScopedAStatus clearDisplayService() override;
124   ::ndk::ScopedAStatus waitDisplayService(::ndk::SpAIBinder* _aidl_return) override;
125   ::ndk::ScopedAStatus createTapInterface(const std::string& in_ifaceNameSuffix, ::ndk::ScopedFileDescriptor* _aidl_return) override;
126   ::ndk::ScopedAStatus deleteTapInterface(const ::ndk::ScopedFileDescriptor& in_tapFd) override;
127   ::ndk::SpAIBinder asBinder() override;
128   bool isRemote() override;
129 };
130 }  // namespace virtualizationservice_internal
131 }  // namespace system
132 }  // namespace android
133 }  // namespace aidl
134