| 1 | #ifndef _CDVDAPA_H_ | 
 
 
 
 
 | 2 | #define _CDVDAPA_H_ | 
 
 
 
 
 | 3 |  | 
 
 
 
 
 | 4 | /* chunks_map */ | 
 
 
 
 
 | 5 | static const char MAP_AVAIL = '.'; | 
 
 
 
 
 | 6 | static const char MAP_MAIN = 'M'; | 
 
 
 
 
 | 7 | static const char MAP_SUB = 's'; | 
 
 
 
 
 | 8 | static const char MAP_COLL = 'x'; | 
 
 
 
 
 | 9 | static const char MAP_ALLOC = '*'; | 
 
 
 
 
 | 10 |  | 
 
 
 
 
 | 11 | typedef struct apa_partition_type | 
 
 
 
 
 | 12 | { | 
 
 
 
 
 | 13 | int existing; | 
 
 
 
 
 | 14 | int modified; | 
 
 
 
 
 | 15 | int linked; | 
 
 
 
 
 | 16 | ps2_partition_header_t header; | 
 
 
 
 
 | 17 | } apa_partition_t; | 
 
 
 
 
 | 18 |  | 
 
 
 
 
 | 19 |  | 
 
 
 
 
 | 20 | typedef struct apa_partition_table_type | 
 
 
 
 
 | 21 | { | 
 
 
 
 
 | 22 | u_long device_size_in_mb; | 
 
 
 
 
 | 23 | u_long total_chunks; | 
 
 
 
 
 | 24 | u_long allocated_chunks; | 
 
 
 
 
 | 25 | u_long free_chunks; | 
 
 
 
 
 | 26 |  | 
 
 
 
 
 | 27 | char *chunks_map; | 
 
 
 
 
 | 28 |  | 
 
 
 
 
 | 29 | /* existing partitions */ | 
 
 
 
 
 | 30 | u_long part_alloc_; | 
 
 
 
 
 | 31 | u_long part_count; | 
 
 
 
 
 | 32 | apa_partition_t *parts; | 
 
 
 
 
 | 33 | } apa_partition_table_t; | 
 
 
 
 
 | 34 |  | 
 
 
 
 
 | 35 | void apa_ptable_free(apa_partition_table_t *table); | 
 
 
 
 
 | 36 |  | 
 
 
 
 
 | 37 | u_long apa_partition_checksum (const ps2_partition_header_t *part); | 
 
 
 
 
 | 38 |  | 
 
 
 
 
 | 39 | int apa_ptable_read_ex (hio_t *hio, apa_partition_table_t **table); | 
 
 
 
 
 | 40 |  | 
 
 
 
 
 | 41 | u_long get_u32 (const void *buffer); | 
 
 
 
 
 | 42 | void set_u32 (void *buffer, u_long val); | 
 
 
 
 
 | 43 |  | 
 
 
 
 
 | 44 | u_short get_u16 (const void *buffer); | 
 
 
 
 
 | 45 | void set_u16 (void *buffer, u_short val); | 
 
 
 
 
 | 46 |  | 
 
 
 
 
 | 47 |  | 
 
 
 
 
 | 48 | #endif /* _APA_H_ */ |