Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/modules/KextPatcher/kext_patcher.h

Source at commit 738 created 13 years 2 months ago.
By meklort, Kext Patcher cleanup.
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
10unsigned long Adler32( unsigned char * buffer, long length );
11
12void KextPatcher_start();
13void KextPatcher_hook(void* current, void* arg2, void* arg3, void* arg4);
14
15
16/** Patch Routines **/
17bool patch_plist_entry(TagPtr plist, char* plistbuffer, const char* personalityName, const char* propertyName, const char* nameMatch);
18
19bool patch_kext(TagPtr plist, char* plistbuffer, void* start);
20bool patch_gma_kexts(TagPtr plist, char* plistbuffer, void* start);
21bool patch_bcm_kext(TagPtr plist, char* plistbuffer, void* start);
22bool patch_atheros_kext(TagPtr plist, char* plistbuffer, void* start);
23bool patch_hda_kext(TagPtr plist, char* plistbuffer, void* start);
24bool patch_hda_controller(TagPtr plist, char* plistbuffer, void* start);
25
26
27/** zlib support **/
28static void * z_alloc(void *, u_int items, u_int size);
29static void z_free(void *, void *ptr);
30
31typedef struct z_mem {
32 uint32_t alloc_size;
33 uint8_t data[0];
34} z_mem;
35
36
37
38int chartohex(char c);
39
40void kext_loaded(void* module, void* length, void* executableAddr, void* arg3);
41void mkext_loaded(void* filespec, void* package, void* lenght, void* arg3);
42
43
44/** Global patch variables **/
45extern uint16_t patch_gma_deviceid;
46extern uint16_t patch_bcm_deviceid;
47extern uint16_t patch_atheros_deviceid;
48extern 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

Archive Download this file

Revision: 738