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 --ninja -d out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/staging/android/system/virtualizationservice/IVirtualizationService.cpp.d -h out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/include/staging -o out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/staging -Npackages/modules/Virtualization/android/virtualizationservice/aidl packages/modules/Virtualization/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualizationService.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/virtualizationservice/AssignableDevice.h>
18 #include <aidl/android/system/virtualizationservice/IVirtualMachine.h>
19 #include <aidl/android/system/virtualizationservice/PartitionType.h>
20 #include <aidl/android/system/virtualizationservice/VirtualMachineConfig.h>
21 #include <aidl/android/system/virtualizationservice/VirtualMachineDebugInfo.h>
22 #ifdef BINDER_STABILITY_SUPPORT
23 #include <android/binder_stability.h>
24 #endif  // BINDER_STABILITY_SUPPORT
25 
26 namespace aidl::android::system::virtualizationservice {
27 class AssignableDevice;
28 class IVirtualMachine;
29 class VirtualMachineDebugInfo;
30 }  // namespace aidl::android::system::virtualizationservice
31 namespace aidl {
32 namespace android {
33 namespace system {
34 namespace virtualizationservice {
35 class IVirtualizationServiceDelegator;
36 
37 class IVirtualizationService : public ::ndk::ICInterface {
38 public:
39   typedef IVirtualizationServiceDelegator DefaultDelegator;
40   static const char* descriptor;
41   IVirtualizationService();
42   virtual ~IVirtualizationService();
43 
44   static const char* FEATURE_DICE_CHANGES;
45   static const char* FEATURE_LLPVM_CHANGES;
46   static const char* FEATURE_MULTI_TENANT;
47   static const char* FEATURE_NETWORK;
48   static const char* FEATURE_REMOTE_ATTESTATION;
49   static const char* FEATURE_VENDOR_MODULES;
50   static constexpr uint32_t TRANSACTION_createVm = FIRST_CALL_TRANSACTION + 0;
51   static constexpr uint32_t TRANSACTION_allocateInstanceId = FIRST_CALL_TRANSACTION + 1;
52   static constexpr uint32_t TRANSACTION_initializeWritablePartition = FIRST_CALL_TRANSACTION + 2;
53   static constexpr uint32_t TRANSACTION_createOrUpdateIdsigFile = FIRST_CALL_TRANSACTION + 3;
54   static constexpr uint32_t TRANSACTION_debugListVms = FIRST_CALL_TRANSACTION + 4;
55   static constexpr uint32_t TRANSACTION_getAssignableDevices = FIRST_CALL_TRANSACTION + 5;
56   static constexpr uint32_t TRANSACTION_getSupportedOSList = FIRST_CALL_TRANSACTION + 6;
57   static constexpr uint32_t TRANSACTION_isFeatureEnabled = FIRST_CALL_TRANSACTION + 7;
58   static constexpr uint32_t TRANSACTION_enableTestAttestation = FIRST_CALL_TRANSACTION + 8;
59   static constexpr uint32_t TRANSACTION_isRemoteAttestationSupported = FIRST_CALL_TRANSACTION + 9;
60   static constexpr uint32_t TRANSACTION_isUpdatableVmSupported = FIRST_CALL_TRANSACTION + 10;
61   static constexpr uint32_t TRANSACTION_removeVmInstance = FIRST_CALL_TRANSACTION + 11;
62   static constexpr uint32_t TRANSACTION_claimVmInstance = FIRST_CALL_TRANSACTION + 12;
63 
64   static std::shared_ptr<IVirtualizationService> fromBinder(const ::ndk::SpAIBinder& binder);
65   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IVirtualizationService>& instance);
66   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IVirtualizationService>* instance);
67   static bool setDefaultImpl(const std::shared_ptr<IVirtualizationService>& impl);
68   static const std::shared_ptr<IVirtualizationService>& getDefaultImpl();
69   virtual ::ndk::ScopedAStatus createVm(const ::aidl::android::system::virtualizationservice::VirtualMachineConfig& in_config, const ::ndk::ScopedFileDescriptor& in_consoleOutFd, const ::ndk::ScopedFileDescriptor& in_consoleInFd, const ::ndk::ScopedFileDescriptor& in_osLogFd, const ::ndk::ScopedFileDescriptor& in_dumpDtFd, std::shared_ptr<::aidl::android::system::virtualizationservice::IVirtualMachine>* _aidl_return) = 0;
70   virtual ::ndk::ScopedAStatus allocateInstanceId(std::array<uint8_t, 64>* _aidl_return) = 0;
71   virtual ::ndk::ScopedAStatus initializeWritablePartition(const ::ndk::ScopedFileDescriptor& in_imageFd, int64_t in_sizeBytes, ::aidl::android::system::virtualizationservice::PartitionType in_type) = 0;
72   virtual ::ndk::ScopedAStatus createOrUpdateIdsigFile(const ::ndk::ScopedFileDescriptor& in_inputFd, const ::ndk::ScopedFileDescriptor& in_idsigFd) = 0;
73   virtual ::ndk::ScopedAStatus debugListVms(std::vector<::aidl::android::system::virtualizationservice::VirtualMachineDebugInfo>* _aidl_return) = 0;
74   virtual ::ndk::ScopedAStatus getAssignableDevices(std::vector<::aidl::android::system::virtualizationservice::AssignableDevice>* _aidl_return) = 0;
75   virtual ::ndk::ScopedAStatus getSupportedOSList(std::vector<std::string>* _aidl_return) = 0;
76   virtual ::ndk::ScopedAStatus isFeatureEnabled(const std::string& in_feature, bool* _aidl_return) = 0;
77   virtual ::ndk::ScopedAStatus enableTestAttestation() = 0;
78   virtual ::ndk::ScopedAStatus isRemoteAttestationSupported(bool* _aidl_return) = 0;
79   virtual ::ndk::ScopedAStatus isUpdatableVmSupported(bool* _aidl_return) = 0;
80   virtual ::ndk::ScopedAStatus removeVmInstance(const std::array<uint8_t, 64>& in_instanceId) = 0;
81   virtual ::ndk::ScopedAStatus claimVmInstance(const std::array<uint8_t, 64>& in_instanceId) = 0;
82 private:
83   static std::shared_ptr<IVirtualizationService> default_impl;
84 };
85 class IVirtualizationServiceDefault : public IVirtualizationService {
86 public:
87   ::ndk::ScopedAStatus createVm(const ::aidl::android::system::virtualizationservice::VirtualMachineConfig& in_config, const ::ndk::ScopedFileDescriptor& in_consoleOutFd, const ::ndk::ScopedFileDescriptor& in_consoleInFd, const ::ndk::ScopedFileDescriptor& in_osLogFd, const ::ndk::ScopedFileDescriptor& in_dumpDtFd, std::shared_ptr<::aidl::android::system::virtualizationservice::IVirtualMachine>* _aidl_return) override;
88   ::ndk::ScopedAStatus allocateInstanceId(std::array<uint8_t, 64>* _aidl_return) override;
89   ::ndk::ScopedAStatus initializeWritablePartition(const ::ndk::ScopedFileDescriptor& in_imageFd, int64_t in_sizeBytes, ::aidl::android::system::virtualizationservice::PartitionType in_type) override;
90   ::ndk::ScopedAStatus createOrUpdateIdsigFile(const ::ndk::ScopedFileDescriptor& in_inputFd, const ::ndk::ScopedFileDescriptor& in_idsigFd) override;
91   ::ndk::ScopedAStatus debugListVms(std::vector<::aidl::android::system::virtualizationservice::VirtualMachineDebugInfo>* _aidl_return) override;
92   ::ndk::ScopedAStatus getAssignableDevices(std::vector<::aidl::android::system::virtualizationservice::AssignableDevice>* _aidl_return) override;
93   ::ndk::ScopedAStatus getSupportedOSList(std::vector<std::string>* _aidl_return) override;
94   ::ndk::ScopedAStatus isFeatureEnabled(const std::string& in_feature, bool* _aidl_return) override;
95   ::ndk::ScopedAStatus enableTestAttestation() override;
96   ::ndk::ScopedAStatus isRemoteAttestationSupported(bool* _aidl_return) override;
97   ::ndk::ScopedAStatus isUpdatableVmSupported(bool* _aidl_return) override;
98   ::ndk::ScopedAStatus removeVmInstance(const std::array<uint8_t, 64>& in_instanceId) override;
99   ::ndk::ScopedAStatus claimVmInstance(const std::array<uint8_t, 64>& in_instanceId) override;
100   ::ndk::SpAIBinder asBinder() override;
101   bool isRemote() override;
102 };
103 }  // namespace virtualizationservice
104 }  // namespace system
105 }  // namespace android
106 }  // namespace aidl
107