#include #include "radhook/radhook.h" static int fn() { return 42; } static int detour() { return 1337; } int main() { RadHookHandle h = nullptr; assert(RadHookCreate((void*)fn, (void*)detour, &h) == RadHookResult::Success); // idempotent enable/disable behavior assert(RadHookEnable(h) != RadHookResult::Unknown); assert(RadHookEnable(h) == RadHookResult::AlreadyEnabled || RadHookIsEnabled(h)); assert(RadHookDisable(h) != RadHookResult::Unknown); assert(!RadHookIsEnabled(h) || RadHookDisable(h) == RadHookResult::AlreadyDisabled); RadHookDestroy(h); }