Root/
Source at commit 1078 created 13 years 1 month ago. By azimutz, Put back message removed by mistake on r1061. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2009 Evan Lojewski. All rights reserved.␊ |
3 | *␊ |
4 | */␊ |
5 | #ifndef __BOOT2_KERNEL_PATCHER_H␊ |
6 | #define __BOOT2_KERNEL_PATCHER_H␊ |
7 | ␊ |
8 | #define kHDACodec␉␉␉␉"HDACodec"␊ |
9 | ␊ |
10 | unsigned long Adler32( unsigned char * buffer, long length );␊ |
11 | ␊ |
12 | void KextPatcher_start();␊ |
13 | void KextPatcher_hook(void* current, void* arg2, void* arg3, void* arg4);␊ |
14 | ␊ |
15 | ␊ |
16 | /** Patch Routines **/␊ |
17 | bool patch_plist_entry(TagPtr plist, char* plistbuffer, const char* personalityName, const char* propertyName, const char* nameMatch);␊ |
18 | ␊ |
19 | bool patch_kext(TagPtr plist, char* plistbuffer, void* start);␊ |
20 | bool patch_gma_kexts(TagPtr plist, char* plistbuffer, void* start);␊ |
21 | bool patch_bcm_kext(TagPtr plist, char* plistbuffer, void* start);␊ |
22 | bool patch_atheros_kext(TagPtr plist, char* plistbuffer, void* start);␊ |
23 | bool patch_hda_kext(TagPtr plist, char* plistbuffer, void* start);␊ |
24 | bool patch_hda_controller(TagPtr plist, char* plistbuffer, void* start);␊ |
25 | ␊ |
26 | ␊ |
27 | /** zlib support **/␊ |
28 | static void * z_alloc(void *, u_int items, u_int size);␊ |
29 | static void z_free(void *, void *ptr);␊ |
30 | ␊ |
31 | typedef struct z_mem {␊ |
32 | uint32_t alloc_size;␊ |
33 | uint8_t data[0];␊ |
34 | } z_mem;␊ |
35 | ␊ |
36 | ␊ |
37 | ␊ |
38 | int chartohex(char c);␊ |
39 | ␊ |
40 | void kext_loaded(void* module, void* length, void* executableAddr, void* arg3);␊ |
41 | void mkext_loaded(void* filespec, void* package, void* lenght, void* arg3);␊ |
42 | ␊ |
43 | ␊ |
44 | /** Global patch variables **/␊ |
45 | extern uint16_t patch_gma_deviceid;␊ |
46 | extern uint16_t patch_bcm_deviceid;␊ |
47 | extern uint16_t patch_atheros_deviceid;␊ |
48 | extern uint16_t patch_hda_codec;␉␉// TODO; detect proper codec␊ |
49 | ␊ |
50 | #define NEEDS_PATCHING␉␉(patch_bcm_deviceid || patch_gma_deviceid || patch_hda_codec || patch_atheros_deviceid)␊ |
51 | ␊ |
52 | ␊ |
53 | ␊ |
54 | #endif /* !__BOOT2_KERNEL_PATCHER_H */␊ |
55 |