implement detour_transaction_begin

This commit is contained in:
Lysann Tranvouez 2025-09-28 00:37:03 +02:00
parent c0975230fe
commit d80ec89490
8 changed files with 231 additions and 6 deletions

View file

@ -1,3 +1,26 @@
#pragma once
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) Lysann Tranvouez. All rights reserved.
void hello();
#pragma once
#ifndef MACH_DETOURS_H
#define MACH_DETOURS_H
#include <mach/error.h>
#include <mach/mach_types.h>
typedef void* detour_func_t;
#define detour_err_in_progress (err_local | 1)
mach_error_t detour_transaction_begin();
mach_error_t detour_transaction_abort();
mach_error_t detour_transaction_commit();
mach_error_t detour_transaction_commit_ex(detour_func_t** out_failed_target);
mach_error_t detour_manage_thread(thread_t thread);
mach_error_t detour_attach(detour_func_t* inout_pointer, detour_func_t detour);
mach_error_t detour_attach_ex(detour_func_t* inout_pointer, detour_func_t detour, detour_func_t* out_real_trampoline, detour_func_t* out_real_target, detour_func_t* out_real_detour);
mach_error_t detour_detach(detour_func_t* inout_pointer, detour_func_t detour);
#endif // MACH_DETOURS_H