1 | /*␊ |
2 | * Copyright (c) 2009 Evan Lojewski. All rights reserved.␊ |
3 | *␊ |
4 | */␊ |
5 | ␊ |
6 | #include <mach-o/loader.h>␊ |
7 | #include <mach-o/nlist.h>␊ |
8 | ␊ |
9 | #ifndef __BOOT2_KERNEL_PATCHER_H␊ |
10 | #define __BOOT2_KERNEL_PATCHER_H␊ |
11 | ␊ |
12 | #define CPUID_MODEL_ANY␉␉0x00␊ |
13 | #define CPUID_MODEL_UNKNOWN␉0x01␊ |
14 | ␊ |
15 | #define KERNEL_ANY␉0x00␊ |
16 | #define KERNEL_64␉0x01␊ |
17 | #define KERNEL_32␉0x02␊ |
18 | #define KERNEL_ERR␉0xFF␊ |
19 | ␊ |
20 | typedef struct patchRoutine_t␊ |
21 | {␊ |
22 | ␉void(*patchRoutine)(void*);␊ |
23 | ␉int validArchs;␊ |
24 | ␉int validCpu;␊ |
25 | ␉struct patchRoutine_t* next;␊ |
26 | } patchRoutine_t;␊ |
27 | ␊ |
28 | ␊ |
29 | typedef struct kernSymbols_t␊ |
30 | {␊ |
31 | ␉char* symbol;␊ |
32 | ␉UInt64 addr;␊ |
33 | ␉struct kernSymbols_t* next;␊ |
34 | } kernSymbols_t;␊ |
35 | ␊ |
36 | ␊ |
37 | #endif /* !__BOOT2_KERNEL_PATCHER_H */␊ |
38 | |