libdragon
|
00001 00006 #ifndef __LIBDRAGON_MEMPAK_H 00007 #define __LIBDRAGON_MEMPAK_H 00008 00015 #define MEMPAK_BLOCK_SIZE 256 00016 00020 typedef struct entry_structure 00021 { 00023 uint32_t vendor; 00025 uint16_t game_id; 00027 uint16_t inode; 00029 uint8_t region; 00032 uint8_t blocks; 00034 uint8_t valid; 00036 uint8_t entry_id; 00051 char name[19]; 00052 } entry_structure_t; 00053 00054 #ifdef __cplusplus 00055 extern "C" { 00056 #endif 00057 00058 int read_mempak_sector( int controller, int sector, uint8_t *sector_data ); 00059 int write_mempak_sector( int controller, int sector, uint8_t *sector_data ); 00060 int validate_mempak( int controller ); 00061 int get_mempak_free_space( int controller ); 00062 int get_mempak_entry( int controller, int entry, entry_structure_t *entry_data ); 00063 int format_mempak( int controller ); 00064 int read_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data ); 00065 int write_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data ); 00066 int delete_mempak_entry( int controller, entry_structure_t *entry ); 00067 00068 #ifdef __cplusplus 00069 } 00070 #endif 00071 /* mempak */ 00073 00074 #endif