libdragon
Loading...
Searching...
No Matches
mempak.h
Go to the documentation of this file.
1
8#ifndef __LIBDRAGON_MEMPAK_H
9#define __LIBDRAGON_MEMPAK_H
10
35#define MEMPAK_BLOCK_SIZE 256
36
40typedef struct entry_structure
41{
43 uint32_t vendor;
45 uint16_t game_id;
47 uint16_t inode;
49 uint8_t region;
52 uint8_t blocks;
54 uint8_t valid;
56 uint8_t entry_id;
69 char name[19];
71
72#ifdef __cplusplus
73extern "C" {
74#endif
75
93int read_mempak_sector( int controller, int sector, uint8_t *sector_data );
94
112int write_mempak_sector( int controller, int sector, uint8_t *sector_data );
113
127int validate_mempak( int controller );
128
140int get_mempak_free_space( int controller );
141
159int get_mempak_entry( int controller, int entry, entry_structure_t *entry_data );
160
173int format_mempak( int controller );
174
197int read_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data );
198
221int write_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data );
222
238int delete_mempak_entry( int controller, entry_structure_t *entry );
239
240#ifdef __cplusplus
241}
242#endif
243
/* controllerpak */
245
246#endif
uint16_t game_id
Game ID.
Definition mempak.h:45
uint32_t vendor
Vendor ID.
Definition mempak.h:43
uint16_t inode
Inode pointer.
Definition mempak.h:47
uint8_t region
Intended region.
Definition mempak.h:49
uint8_t blocks
Number of blocks used by this entry.
Definition mempak.h:52
uint8_t valid
Validity of this entry.
Definition mempak.h:54
uint8_t entry_id
ID of this entry.
Definition mempak.h:56
int format_mempak(int controller)
Format a Controller Pak.
Definition mempak.c:746
int read_mempak_sector(int controller, int sector, uint8_t *sector_data)
Read a sector from a Controller Pak.
Definition mempak.c:28
int write_mempak_entry_data(int controller, entry_structure_t *entry, uint8_t *data)
Write associated data to a Controller Pak entry.
Definition mempak.c:883
int get_mempak_free_space(int controller)
Return the number of free blocks on a Controller Pak.
Definition mempak.c:724
int read_mempak_entry_data(int controller, entry_structure_t *entry, uint8_t *data)
Read the data associated with an entry on a Controller Pak.
Definition mempak.c:820
int delete_mempak_entry(int controller, entry_structure_t *entry)
Delete a Controller Pak entry and associated data.
Definition mempak.c:1023
int get_mempak_entry(int controller, int entry, entry_structure_t *entry_data)
Read an entry on a Controller Pak.
Definition mempak.c:670
int write_mempak_sector(int controller, int sector, uint8_t *sector_data)
Write a sector to a Controller Pak.
Definition mempak.c:46
int validate_mempak(int controller)
Return whether a Controller Pak is valid.
Definition mempak.c:654
Structure representing a save entry on a Controller Pak.
Definition mempak.h:41