muteki
Loading...
Searching...
No Matches
ftl.h
Go to the documentation of this file.
1/*
2 * Copyright 2022-present dogtopus
3 * SPDX-License-Identifier: MIT
4 */
5
12#ifndef __MUTEKI_FTL_H__
13#define __MUTEKI_FTL_H__
14
15#include <muteki/common.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
24typedef struct {
26 short magic;
30 unsigned char nand_id[8];
32 size_t size_mib;
34 size_t erase_size;
42 char name[32];
46
58extern size_t FTL_GetCurDiskSize(size_t *size_hi);
59
69extern int FTL_ReadSector(size_t sector, void *ptr, size_t count);
70
78extern short FTL_CreateRamDisk(size_t size);
79
84extern void FTL_DestroyRamDisk(void);
85
93int nand_get_params(int sbz, nand_params_t *params);
94
105int nand_read_page(int sbz, size_t page, void *ptr, size_t count, short arg5);
106
107#ifdef __cplusplus
108} // extern "C"
109#endif
110
111#endif // __MUTEKI_FTL_H__
Common include file for all muteki-shims headers.
int FTL_ReadSector(size_t sector, void *ptr, size_t count)
Read sectors from the block device the current active drive belongs to.
size_t FTL_GetCurDiskSize(size_t *size_hi)
Get the size of block device the current active drive belongs to.
int nand_read_page(int sbz, size_t page, void *ptr, size_t count, short arg5)
Read NAND flash pages at a specific page number.
void FTL_DestroyRamDisk(void)
Close the previously allocated RAM disk.
short FTL_CreateRamDisk(size_t size)
Allocate a RAM disk.
int nand_get_params(int sbz, nand_params_t *params)
Get NAND flash parameters.
NAND flash parameter.
Definition ftl.h:24
size_t size_mib
Definition ftl.h:32
size_t data_page_size
Definition ftl.h:36
short nand_id_length
Definition ftl.h:28
size_t spare_page_size
Definition ftl.h:38
int unk_0x40
Definition ftl.h:44
int unk_0x1c
Definition ftl.h:40
size_t erase_size
Definition ftl.h:34
short magic
Definition ftl.h:26