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