1 | ␊ |
2 | #include "libsaio.h"␊ |
3 | #include "smbios.h"␊ |
4 | #include "platform.h"␊ |
5 | #include "pci.h"␊ |
6 | ␊ |
7 | #ifndef __LIBSAIO_SMBIOS_GETTERS_H␊ |
8 | #define __LIBSAIO_SMBIOS_GETTERS_H␊ |
9 | ␊ |
10 | #define SMBIOS_RANGE_START 0x000F0000␊ |
11 | #define SMBIOS_RANGE_END 0x000FFFFF␊ |
12 | ␊ |
13 | #define NOT_AVAILABLE␉␉␉"N/A"␊ |
14 | ␊ |
15 | typedef enum {␊ |
16 | ␉kSMBString,␊ |
17 | ␉kSMBByte,␊ |
18 | ␉kSMBWord,␊ |
19 | ␉kSMBDWord␊ |
20 | //␉kSMBQWord␊ |
21 | } SMBValueType;␊ |
22 | ␊ |
23 | typedef union {␊ |
24 | ␉const char␉*string;␊ |
25 | ␉uint8_t␉␉byte;␊ |
26 | ␉uint16_t␉word;␊ |
27 | ␉uint32_t␉dword;␊ |
28 | //␉uint64_t␉qword;␊ |
29 | } returnType;␊ |
30 | ␊ |
31 | extern bool getProcessorInformationExternalClock(returnType *value);␊ |
32 | extern bool getProcessorInformationMaximumClock(returnType *value);␊ |
33 | extern bool getSMBOemProcessorBusSpeed(returnType *value);␊ |
34 | extern bool getSMBOemProcessorType(returnType *value);␊ |
35 | extern bool getSMBMemoryDeviceMemoryType(returnType *value);␊ |
36 | extern bool getSMBMemoryDeviceMemorySpeed(returnType *value);␊ |
37 | extern bool getSMBMemoryDeviceManufacturer(returnType *value);␊ |
38 | extern bool getSMBMemoryDeviceSerialNumber(returnType *value);␊ |
39 | extern bool getSMBMemoryDevicePartNumber(returnType *value);␊ |
40 | //extern bool scanDMI(void);␊ |
41 | extern SMBStructHeader* FindFirstDmiTableOfType(int type, int minlength);␊ |
42 | extern SMBStructHeader* FindNextDmiTableOfType(int type, int minlength);␊ |
43 | extern void getSmbiosProductName();␊ |
44 | extern void getSmbiosMacModel(void);␊ |
45 | extern void getSmbiosTableStructure(struct SMBEntryPoint *smbios);␊ |
46 | ␊ |
47 | SMBEntryPoint *getAddressOfSmbiosTable(void);␊ |
48 | const char * smbiosStringAtIndex(SMBStructHeader* smHeader, int index, int* length);␊ |
49 | ␊ |
50 | #endif /* !__LIBSAIO_SMBIOS_GETTERS_H */␊ |
51 | |