4 #ifndef TAI_INTERNAL_HEADER 5 #define TAI_INTERNAL_HEADER 7 #include <psp2kern/types.h> 14 extern unsigned char log_ctr;
18 #define LOG(fmt, ...) printf("%02X [%s:%d] " fmt "\n", log_ctr++, __FUNCTION__, __LINE__, ##__VA_ARGS__) 24 #define FUNC_SAVE_SIZE 16 27 #define SHARED_PID 0x80000000 30 #define DEFAULT_FW_VERSION 0x3600000 79 uint32_t sce_reserved[2];
112 #endif // TAI_INTERNAL_HEADER void * saved
The original data (allocated on inject)
tai_patch_type_t type
Type of patch (hook chain or injection)
struct _tai_patch * patch
The patch containing this injection.
struct _tai_proc * next
Next process in this map bucket.
struct _tai_hook_user u
Used by TAI_CONTINUE to find next hook to run.
size_t size
Size of the patch.
struct _tai_hook tai_hook_t
Hook data stored in address space of process to patch.
struct _tai_patch * next
Next patch in the linked list for this process.
uintptr_t addr
Address being patched.
struct _tai_hook * next
Next hook for this process + address.
Internal data for a process.
A patch containing either a hook chain or an injection.
struct _tai_inject tai_inject_t
Injection data.
struct _tai_patch * patch
The patch containing this hook.
struct slab_chain * slab
Slab chain for this process (copied from the owner tai_proc_t)
size_t size
Size of original data.
void * func
Address of the function to hook.
struct _tai_patch tai_patch_t
A patch containing either a hook chain or an injection.
SceUID pid
Process owning this object.
Hook data stored in address space of process to patch.
void * saved
Data saved by libsubstitute to restore the function.
void * old
A function pointer used to call the original function.
SceUID uid
Kernel object id of this object.
struct _tai_hook * head
The linked list of hooks on this process + address.
SceUID pid
Process ID (the key in the map)
tai_patch_t * head
Linked list of patches for this process.
struct _tai_proc tai_proc_t
Internal data for a process.
struct _tai_hook_list tai_hook_list_t
A chain of hooks.