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