libdragon
mempak.h
Go to the documentation of this file.
1
6#ifndef __LIBDRAGON_MEMPAK_H
7#define __LIBDRAGON_MEMPAK_H
8
15#define MEMPAK_BLOCK_SIZE 256
16
20typedef struct entry_structure
21{
23 uint32_t vendor;
25 uint16_t game_id;
27 uint16_t inode;
29 uint8_t region;
32 uint8_t blocks;
34 uint8_t valid;
36 uint8_t entry_id;
49 char name[19];
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56int read_mempak_sector( int controller, int sector, uint8_t *sector_data );
57int write_mempak_sector( int controller, int sector, uint8_t *sector_data );
58int validate_mempak( int controller );
59int get_mempak_free_space( int controller );
60int get_mempak_entry( int controller, int entry, entry_structure_t *entry_data );
61int format_mempak( int controller );
62int read_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data );
63int write_mempak_entry_data( int controller, entry_structure_t *entry, uint8_t *data );
64int delete_mempak_entry( int controller, entry_structure_t *entry );
65
66#ifdef __cplusplus
67}
68#endif
69 /* controllerpak */
71
72#endif
uint16_t game_id
Game ID.
Definition: mempak.h:25
uint32_t vendor
Vendor ID.
Definition: mempak.h:23
uint16_t inode
Inode pointer.
Definition: mempak.h:27
uint8_t region
Intended region.
Definition: mempak.h:29
uint8_t blocks
Number of blocks used by this entry.
Definition: mempak.h:32
uint8_t valid
Validity of this entry.
Definition: mempak.h:34
uint8_t entry_id
ID of this entry.
Definition: mempak.h:36
int format_mempak(int controller)
Format a Controller Pak.
Definition: mempak.c:853
int read_mempak_sector(int controller, int sector, uint8_t *sector_data)
Read a sector from a Controller Pak.
Definition: mempak.c:65
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:1012
int get_mempak_free_space(int controller)
Return the number of free blocks on a Controller Pak.
Definition: mempak.c:819
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:949
int delete_mempak_entry(int controller, entry_structure_t *entry)
Delete a Controller Pak entry and associated data.
Definition: mempak.c:1167
int get_mempak_entry(int controller, int entry, entry_structure_t *entry_data)
Read an entry on a Controller Pak.
Definition: mempak.c:754
int write_mempak_sector(int controller, int sector, uint8_t *sector_data)
Write a sector to a Controller Pak.
Definition: mempak.c:100
int validate_mempak(int controller)
Return whether a Controller Pak is valid.
Definition: mempak.c:721
Structure representing a save entry on a Controller Pak.
Definition: mempak.h:21