VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vsf_malfs.c File Reference
#include "../../vsf_fs_cfg.h"
#include "../../vsf_fs.h"

Data Structures

struct  vk_malfs_mount_partition_t
 
struct  vk_malfs_dpt_t
 
struct  vk_malfs_mbr_t
 
struct  vk_malfs_gpt_header_t
 
struct  vk_mal_gpt_entry_t
 

Macros

#define __VSF_FS_CLASS_INHERIT__
 
#define __VSF_MAL_CLASS_INHERIT__
 
#define __VSF_MALFS_CLASS_IMPLEMENT
 
#define __is_gpt()   (vsf_local.partition_num > 0)
 

Typedefs

typedef enum vk_malfs_mount_state_t vk_malfs_mount_state_t
 
typedef enum vk_malfs_partition_type_t vk_malfs_partition_type_t
 
typedef struct vk_malfs_mount_partition_t vk_malfs_mount_partition_t
 
typedef struct vk_malfs_dpt_t vk_malfs_dpt_t
 
typedef struct vk_malfs_mbr_t vk_malfs_mbr_t
 
typedef struct vk_malfs_gpt_header_t vk_malfs_gpt_header_t
 
typedef struct vk_mal_gpt_entry_t vk_mal_gpt_entry_t
 

Enumerations

enum  vk_malfs_mount_state_t {
  VSF_MOUNT_STATE_READ_MBR ,
  VSF_MOUNT_STATE_READ_GPT_HEADER ,
  VSF_MOUNT_STATE_READ_GPT_PARTITION_ENTRY ,
  VSF_MOUNT_STATE_PROBE_FS ,
  VSF_MOUNT_STATE_PARSE_GPT_PARTITION_ENTRY ,
  VSF_MOUNT_STATE_CREATE_ROOT ,
  VSF_MOUNT_STATE_OPEN_ROOT ,
  VSF_MOUNT_STATE_MOUNT ,
  VSF_MOUNT_STATE_RENAME_ROOT
}
 
enum  vk_malfs_partition_type_t {
  VSF_MBR_PARTITION_TYPE_NONE = 0x00 ,
  VSF_MBR_PARTITION_TYPE_FAT12_CHS = 0x01 ,
  VSF_MBR_PARTITION_TYPE_FAT16_16_32_CHS = 0x04 ,
  VSF_MBR_PARTITION_TYPE_MS_EXT = 0x05 ,
  VSF_MBR_PARTITION_TYPE_FAT16_32_CHS = 0x06 ,
  VSF_MBR_PARTITION_TYPE_NTFS_EXFAT = 0x07 ,
  VSF_MBR_PARTITION_TYPE_FAT32_CHS = 0x0B ,
  VSF_MBR_PARTITION_TYPE_FAT32_LBA = 0x0C ,
  VSF_MBR_PARTITION_TYPE_FAT16_32_2G_LBA = 0x0E ,
  VSF_MBR_PARTITION_TYPE_MS_EXT_LBA = 0x0F
}
 

Functions

void __vk_malfs_init (__vk_malfs_info_t *info)
 
void __vk_malfs_cache_init (__vk_malfs_info_t *info, __vk_malfs_cache_t *cache)
 
 __vsf_component_peda_private_entry (__vk_malfs_alloc_cache, uint64_t block_addr;__vk_malfs_cache_node_t *result;)
 
 __vsf_component_peda_private_entry (__vk_malfs_read, uint64_t block_addr;uint32_t block_num;uint8_t *buff;uint8_t state;)
 
vsf_err_t __vk_malfs_alloc_cache (__vk_malfs_info_t *info, __vk_malfs_cache_t *cache, uint_fast64_t block_addr)
 
vsf_err_t __vk_malfs_read (__vk_malfs_info_t *info, uint_fast64_t block_addr, uint_fast32_t block_num, uint8_t *buff)
 
vsf_err_t __vk_malfs_write (__vk_malfs_info_t *info, uint_fast64_t block_addr, uint_fast32_t block_num, uint8_t *buff)
 
void __vk_malfs_unmount (__vk_malfs_info_t *info)
 
 __vsf_component_peda_private_entry (__vk_malfs_mount, uint64_t partition_entry_lba;vk_malfs_mount_partition_t cur_partition;uint8_t *sectbuf;uint8_t *sectbuf_probe;char *cur_root_name;uint32_t start_sector;uint32_t sector_count;vk_malfs_mount_state_t mount_state;uint8_t partition_idx;uint8_t partition_type;uint8_t partition_num;)
 
vsf_err_t vk_malfs_mount (vk_malfs_mounter_t *mounter)
 

Variables

struct { 
 
   const vk_fs_op_t *   fsop 
 
   uint8_t   partition_type 
 
__vk_malfs_ops [] 
 

Macro Definition Documentation

◆ __VSF_FS_CLASS_INHERIT__

#define __VSF_FS_CLASS_INHERIT__

◆ __VSF_MAL_CLASS_INHERIT__

#define __VSF_MAL_CLASS_INHERIT__

◆ __VSF_MALFS_CLASS_IMPLEMENT

#define __VSF_MALFS_CLASS_IMPLEMENT

◆ __is_gpt

#define __is_gpt ( )    (vsf_local.partition_num > 0)

Typedef Documentation

◆ vk_malfs_mount_state_t

◆ vk_malfs_partition_type_t

◆ vk_malfs_mount_partition_t

◆ vk_malfs_dpt_t

◆ vk_malfs_mbr_t

◆ vk_malfs_gpt_header_t

◆ vk_mal_gpt_entry_t

Enumeration Type Documentation

◆ vk_malfs_mount_state_t

Enumerator
VSF_MOUNT_STATE_READ_MBR 
VSF_MOUNT_STATE_READ_GPT_HEADER 
VSF_MOUNT_STATE_READ_GPT_PARTITION_ENTRY 
VSF_MOUNT_STATE_PROBE_FS 
VSF_MOUNT_STATE_PARSE_GPT_PARTITION_ENTRY 
VSF_MOUNT_STATE_CREATE_ROOT 
VSF_MOUNT_STATE_OPEN_ROOT 
VSF_MOUNT_STATE_MOUNT 
VSF_MOUNT_STATE_RENAME_ROOT 

◆ vk_malfs_partition_type_t

Enumerator
VSF_MBR_PARTITION_TYPE_NONE 
VSF_MBR_PARTITION_TYPE_FAT12_CHS 
VSF_MBR_PARTITION_TYPE_FAT16_16_32_CHS 
VSF_MBR_PARTITION_TYPE_MS_EXT 
VSF_MBR_PARTITION_TYPE_FAT16_32_CHS 
VSF_MBR_PARTITION_TYPE_NTFS_EXFAT 
VSF_MBR_PARTITION_TYPE_FAT32_CHS 
VSF_MBR_PARTITION_TYPE_FAT32_LBA 
VSF_MBR_PARTITION_TYPE_FAT16_32_2G_LBA 
VSF_MBR_PARTITION_TYPE_MS_EXT_LBA 

Function Documentation

◆ __vk_malfs_init()

void __vk_malfs_init ( __vk_malfs_info_t info)

◆ __vk_malfs_cache_init()

void __vk_malfs_cache_init ( __vk_malfs_info_t info,
__vk_malfs_cache_t cache 
)

◆ __vsf_component_peda_private_entry() [1/3]

__vsf_component_peda_private_entry ( __vk_malfs_alloc_cache  ,
uint64_t block_addr;__vk_malfs_cache_node_t *result;   
)

◆ __vsf_component_peda_private_entry() [2/3]

__vsf_component_peda_private_entry ( __vk_malfs_read  ,
uint64_t block_addr;uint32_t block_num;uint8_t *buff;uint8_t state  
)

◆ __vk_malfs_alloc_cache()

vsf_err_t __vk_malfs_alloc_cache ( __vk_malfs_info_t info,
__vk_malfs_cache_t cache,
uint_fast64_t  block_addr 
)

◆ __vk_malfs_read()

vsf_err_t __vk_malfs_read ( __vk_malfs_info_t info,
uint_fast64_t  block_addr,
uint_fast32_t  block_num,
uint8_t buff 
)

◆ __vk_malfs_write()

vsf_err_t __vk_malfs_write ( __vk_malfs_info_t info,
uint_fast64_t  block_addr,
uint_fast32_t  block_num,
uint8_t buff 
)

◆ __vk_malfs_unmount()

void __vk_malfs_unmount ( __vk_malfs_info_t info)

◆ __vsf_component_peda_private_entry() [3/3]

__vsf_component_peda_private_entry ( __vk_malfs_mount  ,
uint64_t partition_entry_lba;vk_malfs_mount_partition_t cur_partition;uint8_t *sectbuf;uint8_t *sectbuf_probe;char *cur_root_name;uint32_t start_sector;uint32_t sector_count;vk_malfs_mount_state_t mount_state;uint8_t partition_idx;uint8_t partition_type;uint8_t partition_num;   
)

◆ vk_malfs_mount()

vsf_err_t vk_malfs_mount ( vk_malfs_mounter_t mounter)

Variable Documentation

◆ fsop

const vk_fs_op_t* fsop

◆ partition_type

uint8_t partition_type

◆ [struct]

struct { ... } __vk_malfs_ops[]
Initial value:
= {
}
const vk_fs_op_t vk_fatfs_op
@ VSF_MBR_PARTITION_TYPE_FAT32_LBA
Definition vsf_malfs.c:69