#include "ctr_io_interface.h"
#include "sdmmc/sdmmc.h"
Go to the source code of this file.
|
int | ctr_sd_interface_initialize (ctr_sd_interface *io) |
| Initialize the given SD io interface object. More...
|
|
void | ctr_sd_interface_destroy (ctr_sd_interface *io) |
| Destroys the given SD io interface object. More...
|
|
int | ctr_sd_interface_read (void *io, void *buffer, size_t buffer_size, uint64_t position, size_t count) |
| Reads bytes from the given io interface. More...
|
|
int | ctr_sd_interface_write (void *io, const void *buffer, size_t buffer_size, uint64_t position) |
| Writes bytes to the given io interface. More...
|
|
int | ctr_sd_interface_read_sector (void *io, void *buffer, size_t buffer_size, size_t sector, size_t count) |
| Reads sectors from the given io interface. More...
|
|
int | ctr_sd_interface_write_sector (void *io, const void *buffer, size_t buffer_size, size_t sectorn) |
| Writes sectors from the given io interface. More...
|
|
uint64_t | ctr_sd_interface_disk_size (void *io) |
| Returns the size of the underlying disk for the given io interface. More...
|
|
size_t | ctr_sd_interface_sector_size (void *io) |
| Returns the size of the sectors used by the io interface, which is 512 bytes for SD cards. More...
|
|
Destroys the given SD io interface object.
- Parameters
-
[in,out] | io | SD io interface to deinitialize. |
- Postcondition
- The io interface has been destroyed and cannot be used for accessing the SD card without being re-initialized.
uint64_t ctr_sd_interface_disk_size |
( |
void * |
io | ) |
|
Returns the size of the underlying disk for the given io interface.
- Returns
- The size of the NAND as reported by it.
Initialize the given SD io interface object.
- Parameters
-
[out] | io | SD io interface to initialize. |
- Returns
- 0 on success, anything else on a failure. Failures can stem from the SD card not being inserted, or some more severe underlying problem.
int ctr_sd_interface_read |
( |
void * |
io, |
|
|
void * |
buffer, |
|
|
size_t |
buffer_size, |
|
|
uint64_t |
position, |
|
|
size_t |
count |
|
) |
| |
Reads bytes from the given io interface.
- Parameters
-
[in,out] | io | The io interface to use for reading. |
[out] | buffer | Pointer to the buffer. |
[in] | buffer_size | The size of the buffer in bytes. |
[in] | position | Position/address in the io interface to read from. |
[in] | count | The number of bytes to read. |
- Returns
- 0 upon success, anything else means an error.
int ctr_sd_interface_read_sector |
( |
void * |
io, |
|
|
void * |
buffer, |
|
|
size_t |
buffer_size, |
|
|
size_t |
sector, |
|
|
size_t |
count |
|
) |
| |
Reads sectors from the given io interface.
SD card access uses 512 byte sectors.
- Parameters
-
[in,out] | io | The io interface to use for reading. |
[out] | buffer | Pointer to the buffer. |
[in] | buffer_size | The size of the buffer in bytes. |
[in] | sector | Sector position in the io interface to read from. |
[in] | count | The number of sectors to read. |
- Returns
- 0 upon success, anything else means an error.
size_t ctr_sd_interface_sector_size |
( |
void * |
io | ) |
|
Returns the size of the sectors used by the io interface, which is 512 bytes for SD cards.
- Returns
- 512 bytes as the sector size for SD cards.
int ctr_sd_interface_write |
( |
void * |
io, |
|
|
const void * |
buffer, |
|
|
size_t |
buffer_size, |
|
|
uint64_t |
position |
|
) |
| |
Writes bytes to the given io interface.
- Parameters
-
[in,out] | io | The io interface to use for writing. |
[in] | buffer | Pointer to the buffer. |
[in] | buffer_size | The size of the buffer, and the number of bytes to write. |
[in] | position | Position/address in the io interface to write to. |
- Returns
- 0 upon success, anything else means an error.
int ctr_sd_interface_write_sector |
( |
void * |
io, |
|
|
const void * |
buffer, |
|
|
size_t |
buffer_size, |
|
|
size_t |
sectorn |
|
) |
| |
Writes sectors from the given io interface.
SD card access uses 512 byte sectors.
- Parameters
-
[in,out] | io | The io interface to use for writing. |
[in] | buffer | Pointer to the buffer. |
[in] | buffer_size | The size of the buffer, and the number of bytes to write. If the number is not a multiple of the sector size, this function will only write all the full sectors it can, ignoring the end of the buffer that doesn't fit a sector. |
[in] | sector | Sector Position in the io interface to write to. |
- Returns
- 0 upon success, anything else means an error.