|
|
|
@ -0,0 +1,42 @@ |
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later |
|
|
|
// Copyright 2021 yuzu Emulator Project |
|
|
|
// Copyright 2014 The Android Open Source Project |
|
|
|
// Parts of this implementation were base on: |
|
|
|
// https://cs.android.com/android/platform/superproject/+/android-5.1.1_r38:frameworks/native/include/binder/IBinder.h |
|
|
|
|
|
|
|
#pragma once |
|
|
|
|
|
|
|
#include "common/common_types.h" |
|
|
|
|
|
|
|
namespace Kernel { |
|
|
|
class HLERequestContext; |
|
|
|
class KReadableEvent; |
|
|
|
} // namespace Kernel |
|
|
|
|
|
|
|
namespace android { |
|
|
|
|
|
|
|
enum class TransactionId { |
|
|
|
RequestBuffer = 1, |
|
|
|
SetBufferCount = 2, |
|
|
|
DequeueBuffer = 3, |
|
|
|
DetachBuffer = 4, |
|
|
|
DetachNextBuffer = 5, |
|
|
|
AttachBuffer = 6, |
|
|
|
QueueBuffer = 7, |
|
|
|
CancelBuffer = 8, |
|
|
|
Query = 9, |
|
|
|
Connect = 10, |
|
|
|
Disconnect = 11, |
|
|
|
AllocateBuffers = 13, |
|
|
|
SetPreallocatedBuffer = 14, |
|
|
|
GetBufferHistory = 17, |
|
|
|
}; |
|
|
|
|
|
|
|
class IBinder { |
|
|
|
public: |
|
|
|
virtual void Transact(Kernel::HLERequestContext& ctx, android::TransactionId code, |
|
|
|
u32 flags) = 0; |
|
|
|
virtual Kernel::KReadableEvent& GetNativeHandle() = 0; |
|
|
|
}; |
|
|
|
|
|
|
|
} // namespace android |