#pragma once #ifdef __cplusplus extern "C" { #endif #include typedef struct SCPatchLoaderData { // Bundle ID's are unicode < 255 chars HFSUniStr255 bundleID; // urls are just UTF CStrings char urlData[0]; } SCPatchLoaderData; typedef struct SCPatchLoaderParams { short version; size_t size; ptrdiff_t codeOffset; pid_t parent; HFSUniStr255 parentBundleID; // patches are just packed one after another (this has to be // one contiguous chunk for injection into the target process). short patchCount; SCPatchLoaderData patchData[0]; } SCPatchLoaderParams; char *SCPatchGetStringPointer(SCPatchLoaderParams *params, short patchNumber); HFSUniStr255 *SCPatchGetHFSUniStrPointer(SCPatchLoaderParams *params, short patchNumber); #ifdef __cplusplus } #endif