#pragma once #include "../types.h" #define BINDER_FIRST_CALL_TRANSACTION 0x1 typedef struct { bool created; bool initialized; Handle sessionHandle; s32 id; Handle nativeHandle; size_t ipcBufferSize; bool hasTransactAuto; } Binder; // binderExitSession will not close the sessionHandle since it's user-specified via binderCreateSession and may be used elsewhere. void binderCreateSession(Binder *session, Handle sessionHandle, s32 ID); Result binderInitSession(Binder *session, u32 unk0); void binderExitSession(Binder *session); Result binderTransactParcel( Binder *session, u32 code, void* parcel_data, size_t parcel_data_size, void* parcel_reply, size_t parcel_reply_size, u32 flags); Result binderAdjustRefcount(Binder *session, s32 addval, s32 type); Result binderGetNativeHandle(Binder *session, u32 unk0, Handle *handle_out);