Root/
Source at commit 284 created 13 years 10 months ago. By blackosx, Amended my mistake by updating the Default theme images in the trunk. Now put them back as they were.. (Sorry) | |
---|---|
1 | /*␊ |
2 | *␉Copyright 2009 Jasmin Fazlic All rights reserved.␊ |
3 | */␊ |
4 | /*␊ |
5 | *␉Cleaned and merged by iNDi␊ |
6 | */␊ |
7 | ␊ |
8 | #ifndef __LIBSAIO_DEVICE_INJECT_H␊ |
9 | #define __LIBSAIO_DEVICE_INJECT_H␊ |
10 | ␊ |
11 | #define DP_ADD_TEMP_VAL(dev, val) devprop_add_value(dev, (char*)val[0], (uint8_t*)val[1], strlen(val[1]) + 1)␊ |
12 | #define DP_ADD_TEMP_VAL_DATA(dev, val) devprop_add_value(dev, (char*)val.name, (uint8_t*)val.data, val.size)␊ |
13 | #define MAX_PCI_DEV_PATHS 4␊ |
14 | ␊ |
15 | extern struct DevPropString *string;␊ |
16 | extern uint8_t *stringdata;␊ |
17 | extern uint32_t stringlength;␊ |
18 | ␊ |
19 | extern void setupDeviceProperties(Node *node);␊ |
20 | ␊ |
21 | struct ACPIDevPath {␊ |
22 | ␉uint8_t␉␉type;␉␉// = 2 ACPI device-path␊ |
23 | ␉uint8_t␉␉subtype;␉// = 1 ACPI Device-path␊ |
24 | ␉uint16_t␉length;␉␉// = 0x0c␊ |
25 | ␉uint32_t␉_HID;␉␉// = 0xD041030A ?␊ |
26 | ␉uint32_t␉_UID;␉␉// = 0x00000000 PCI ROOT␊ |
27 | };␊ |
28 | ␊ |
29 | struct PCIDevPath {␊ |
30 | ␉uint8_t␉␉type;␉␉// = 1 Hardware device-path␊ |
31 | ␉uint8_t␉␉subtype;␉// = 1 PCI␊ |
32 | ␉uint16_t␉length;␉␉// = 6␊ |
33 | ␉uint8_t␉␉function;␉// pci func number␊ |
34 | ␉uint8_t␉␉device;␉␉// pci dev number␊ |
35 | };␊ |
36 | ␊ |
37 | struct DevicePathEnd {␊ |
38 | ␉uint8_t␉␉type;␉␉// = 0x7f␊ |
39 | ␉uint8_t␉␉subtype;␉// = 0xff␊ |
40 | ␉uint16_t␉length;␉␉// = 4;␊ |
41 | };␊ |
42 | ␊ |
43 | struct DevPropDevice {␊ |
44 | ␉uint32_t length;␊ |
45 | ␉uint16_t numentries;␊ |
46 | ␉uint16_t WHAT2;␉␉␉␉␉␉␉␉␉␉// 0x0000 ?␊ |
47 | ␉struct ACPIDevPath acpi_dev_path;␉␉␉␉␉// = 0x02010c00 0xd041030a␊ |
48 | ␉struct PCIDevPath pci_dev_path[MAX_PCI_DEV_PATHS]; // = 0x01010600 func dev␊ |
49 | ␉struct DevicePathEnd path_end;␉␉␉␉␉␉// = 0x7fff0400␊ |
50 | ␉uint8_t *data;␊ |
51 | ␉␊ |
52 | ␉// ------------------------␊ |
53 | ␉uint8_t␉ num_pci_devpaths;␊ |
54 | ␉struct DevPropString *string;␊ |
55 | ␉// ------------------------␉␊ |
56 | };␊ |
57 | ␊ |
58 | struct DevPropString {␊ |
59 | ␉uint32_t length;␊ |
60 | ␉uint32_t WHAT2;␉␉␉// 0x01000000 ?␊ |
61 | ␉uint16_t numentries;␊ |
62 | ␉uint16_t WHAT3;␉␉␉// 0x0000 ?␊ |
63 | ␉struct DevPropDevice **entries;␊ |
64 | };␊ |
65 | ␊ |
66 | char␉␉␉*efi_inject_get_devprop_string(uint32_t *len);␊ |
67 | int␉␉␉devprop_add_network_template(struct DevPropDevice *device, uint16_t vendor_id);␊ |
68 | struct DevPropString␉*devprop_create_string(void);␊ |
69 | struct DevPropDevice␉*devprop_add_device(struct DevPropString *string, char *path);␊ |
70 | int␉␉␉devprop_add_value(struct DevPropDevice *device, char *nm, uint8_t *vl, uint32_t len);␊ |
71 | char␉␉␉*devprop_generate_string(struct DevPropString *string);␊ |
72 | void␉␉␉devprop_free_string(struct DevPropString *string);␊ |
73 | ␊ |
74 | #endif /* !__LIBSAIO_DEVICE_INJECT_H */␊ |
75 |