SDI.h

Mar 18, 2008 17:03


#ifndef _SDI_H_INCLUDED #define _SDI_H_INCLUDED #define SDIMAGIC "$SDI0001" #define SDIMAGICLEN (8) #define SDITOCMAX (4) enum MDB { MDBunknown = 0, MDBRAM, MDBROM }; typedef struct _SDI_header { char magic[8]; QWORD MDBtype; QWORD BootCodeOffset; QWORD BootCodeSize; QWORD VendorID; // 16-bit HEX value QWORD DeviceID; // 16-bit HEX value GUID DeviceModel; QWORD DeviceRole; // int32 value QWORD Reserved1; GUID RuntimeGUID; QWORD RuntimeOEMrev; // int32 value QWORD Reserved2; QWORD PageAlignment; // BLOB alignment value in pages QWORD Reserved3[48]; QWORD Checksum; } SDI_header; typedef struct _SDI_TOC_record { char BLOBtype[8]; // 3-4 bytes UPPERCASE value, 0-padded QWORD Attr; // uint32 value QWORD Offset; QWORD Size; QWORD BaseAddress; // 0 for non-filesystem BLOBs, filesystem code for PART (as in MBR) // 7 for NTFS, 6 for BIGFAT, etc. QWORD Reserved[3]; } SDI_TOC_record; typedef struct _SDIpage0 { SDI_header h; char Reserved[512]; SDI_TOC_record TOC[48]; } SDIpage0; #endif // _SDI_H_INCLUDED
You can download sdi.h by right-clicking.

sdi, xpe

Previous post Next post
Up