diff options
| author | bunnei <bunneidev@gmail.com> | 2021-11-11 18:35:28 -0800 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2022-03-24 18:13:32 -0700 | 
| commit | fe9945ad6cc44ea234743bf085617d535342fab1 (patch) | |
| tree | 5b2f54ab9adca5e10e6a9ada31cadeb5165eaf70 /src/core/hle | |
| parent | b9cbc708e84d9b96dca6a93bbd70de85e6320f40 (diff) | |
hle: nvflinger: Add IBinder interface.
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/nvflinger/binder.h | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/src/core/hle/service/nvflinger/binder.h b/src/core/hle/service/nvflinger/binder.h new file mode 100644 index 000000000..2d9a23573 --- /dev/null +++ b/src/core/hle/service/nvflinger/binder.h @@ -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 | 
