1 #ifndef XBOX_PORTABLE_H_INCLUDED
2 #define XBOX_PORTABLE_H_INCLUDED
11 #define XBOX_PORTABLE_TITLE_MAX 256
12 #define XBOX_PORTABLE_MEDIA_ID_MAX 64
13 #define XBOX_PORTABLE_REGION_MAX 128
15 typedef int (*xbox_portable_read10_func)(void *context,
18 unsigned char *buffer,
21 typedef int (*xbox_portable_read_structure_func)(void *context,
24 unsigned char *buffer,
27 typedef struct xbox_portable_metadata_s {
29 uint32_t xdfs_volume_lba;
31 uint32_t allowed_media;
33 uint32_t game_ratings;
37 char title[XBOX_PORTABLE_TITLE_MAX];
38 char media_id[XBOX_PORTABLE_MEDIA_ID_MAX];
39 char region[XBOX_PORTABLE_REGION_MAX];
40 } xbox_portable_metadata;
44 void xbox_portable_metadata_init(xbox_portable_metadata *metadata);
45 int xbox_portable_read_metadata(xbox_portable_read10_func read10,
46 xbox_portable_read_structure_func read_structure,
48 xbox_portable_metadata *metadata);
49 int xbox_portable_read_metadata_from_disc(struct disc_s *disc,
50 xbox_portable_metadata *metadata);