]> FriiDump Source - friidump.git/blob - libfriidump/xbox_ref/xbe_cert.h
b326462b056b7acca4762d54feead3dcd8edd6c7
[friidump.git] / libfriidump / xbox_ref / xbe_cert.h
1 #ifndef XBE_CERT_H\r
2 #define XBE_CERT_H\r
3 \r
4 #include <stdint.h>\r
5 \r
6 // --- XBE Certificate Bit Flags ---\r
7 \r
8 typedef enum {\r
9     XB_REGION_US_CANADA      = 0x00000001,\r
10     XB_REGION_JAPAN          = 0x00000002,\r
11     XB_REGION_EUROPE_AU_NZ   = 0x00000004,\r
12     XB_REGION_REST_OF_WORLD  = 0x00000008,\r
13     XB_REGION_MANUFACTURING  = 0x80000000U  // 'U' suffix forces Unsigned\r
14 } XboxRegion;\r
15 \r
16 typedef enum {\r
17     XB_MEDIA_HARD_DRIVE      = 0x00000001,\r
18     XB_MEDIA_DVD_X2          = 0x00000002,\r
19     XB_MEDIA_DVD_CD          = 0x00000004,\r
20     XB_MEDIA_CD              = 0x00000008,\r
21     XB_MEDIA_DVD_5_RO        = 0x00000010,\r
22     XB_MEDIA_DVD_9_RO        = 0x00000020,\r
23     XB_MEDIA_DVD_5_RW        = 0x00000040,\r
24     XB_MEDIA_DVD_9_RW        = 0x00000080,\r
25     XB_MEDIA_DONGLE          = 0x00000100,\r
26     XB_MEDIA_NON_SECURE_HARD_DRIVE = 0x40000000,\r
27     XB_MEDIA_NON_SECURE_USER_MASK  = 0x80000000U\r
28 } XboxMedia;\r
29 \r
30 // --- The Data Struct ---\r
31 \r
32 typedef struct {\r
33     uint32_t TitleId;           // Offset 0x008\r
34     char     TitleName[41];     // Offset 0x00C (Converted to ASCII)\r
35     uint32_t AllowedMedia;      // Offset 0x09C\r
36     uint32_t GameRegion;        // Offset 0x0A0\r
37     uint32_t GameRatings;       // Offset 0x0A4\r
38     uint32_t DiscNumber;        // Offset 0x0A8\r
39     uint32_t Version;           // Offset 0x0AC\r
40     uint64_t TotalSizeBytes;    // Offset 0x01C\r
41     int      Success;           // Helper to check if read worked\r
42 } XboxGameInfo;\r
43 \r
44 #endif