|
KallistiOS git master
Independent SDK for the Sega Dreamcast
|
#include <time.h>#include <stdio.h>#include <errno.h>#include <string.h>#include <stdlib.h>#include <inttypes.h>#include <unistd.h>#include <kos/dbgio.h>#include <kos/blockdev.h>#include <dc/sd.h>#include <dc/maple.h>#include <dc/maple/controller.h>#include "ext2fs.h"#include "block.h"#include "inode.h"#include "superblock.h"#include "utils.h"Macros | |
| #define | KiB 1024LLU |
| #define | MiB (KiB * 1024LLU) |
| #define | GiB (MiB * 1024LLU) |
Functions | |
| static uint32_t | pick_ext2_bs (uint64_t total_size) |
| static int | sb_tst (int group, int root) |
| static int | has_superblock (int group) |
| static void | exit_with_error (const char *err) |
| static int | write_fs_block (ext2_superblock_t *sb, kos_blockdev_t *bd, uint32_t block_num, const uint8_t *buf) |
| static int | read_fs_block (ext2_superblock_t *sb, kos_blockdev_t *bd, uint32_t block_num, uint8_t *buf) |
| static int | read_inode_block (ext2_superblock_t *sb, kos_blockdev_t *bd, uint32_t inode_num, uint8_t *buf, ext2_inode_t **rino, uint32_t *rblk) |
| static int | write_superblock (ext2_superblock_t *bsb, kos_blockdev_t *bd, uint32_t bg) |
| static int | write_bg_descs (ext2_superblock_t *sb, kos_blockdev_t *bd, uint32_t bg) |
| static int | write_superblocks (ext2_superblock_t *sb, kos_blockdev_t *bd) |
| static int | write_blank_inode_tables (ext2_superblock_t *sb, kos_blockdev_t *bd) |
| static int | create_bg_descs (ext2_superblock_t *sb) |
| static int | reserve_blocks (ext2_superblock_t *sb) |
| static int | write_root_dir (ext2_superblock_t *sb, kos_blockdev_t *bd) |
| static int | write_bitmaps (ext2_superblock_t *sb, kos_blockdev_t *bd) |
| int | main (int argc, char *argv[]) |
Variables | |
| static uint8_t | block [4096] |
| static ext2_bg_desc_t * | bg_descs |
| static int | bg_count |
| static uint32_t * | rsvd_inodes |
| static uint32_t * | rsvd_blocks |
| #define GiB (MiB * 1024LLU) |
Referenced by pick_ext2_bs().
| #define KiB 1024LLU |
Referenced by main().
| #define MiB (KiB * 1024LLU) |
Referenced by pick_ext2_bs().
|
static |
References bg_count, bg_descs, free(), malloc(), rsvd_blocks, rsvd_inodes, and uint32_t().
Referenced by main().
|
static |
References cont_state_t::buttons, err, maple_dev_status(), maple_enum_type(), MAPLE_FUNC_CONTROLLER, and printf.
Referenced by main(), write_bitmaps(), write_blank_inode_tables(), write_root_dir(), and write_superblocks().
|
inlinestatic |
References sb_tst().
Referenced by reserve_blocks(), write_bitmaps(), and write_superblocks().
| int main | ( | int | argc, |
| char * | argv[] ) |
References bg_count, bg_descs, block, kos_blockdev_t::count_blocks, create_bg_descs(), dbgio_dev_select(), kos_blockdev_t::dev_data, exit_with_error(), kos_blockdev_t::init, KiB, kos_blockdev_t::l_block_size, NULL, partition_type, pick_ext2_bs(), printf, reserve_blocks(), sd_blockdev_for_partition(), sd_dev, sd_init(), sd_read_blocks(), sd_shutdown(), sd_write_blocks(), kos_blockdev_t::shutdown, uint32_t(), write_bitmaps(), write_blank_inode_tables(), write_root_dir(), and write_superblocks().
|
inlinestatic |
|
static |
References kos_blockdev_t::l_block_size, and kos_blockdev_t::read_blocks.
Referenced by read_inode_block().
|
static |
References bg, bg_descs, read_fs_block(), and uint32_t().
Referenced by write_root_dir().
|
static |
References bg_count, bg_descs, has_superblock(), printf, rsvd_blocks, rsvd_inodes, and uint32_t().
Referenced by main().
|
inlinestatic |
Referenced by has_superblock().
|
static |
References bg, bg_count, bg_descs, free(), malloc(), printf, uint32_t(), and write_fs_block().
Referenced by write_superblocks().
|
static |
References bg_count, bg_descs, block, exit_with_error(), has_superblock(), printf, rsvd_blocks, rsvd_inodes, uint32_t(), and write_fs_block().
Referenced by main().
|
static |
References bg_count, bg_descs, block, exit_with_error(), printf, rsvd_blocks, rsvd_inodes, uint32_t(), and write_fs_block().
Referenced by main().
|
static |
References kos_blockdev_t::l_block_size, and kos_blockdev_t::write_blocks.
Referenced by write_bg_descs(), write_bitmaps(), write_blank_inode_tables(), and write_root_dir().
|
static |
References bg_descs, block, exit_with_error(), kos_blockdev_t::l_block_size, NULL, printf, read_inode_block(), rsvd_blocks, rsvd_inodes, uint32_t(), and write_fs_block().
Referenced by main().
|
static |
References bg, free(), kos_blockdev_t::l_block_size, malloc(), printf, kos_blockdev_t::read_blocks, uint32_t(), and kos_blockdev_t::write_blocks.
Referenced by write_superblocks().
|
static |
References bg_count, exit_with_error(), has_superblock(), printf, write_bg_descs(), and write_superblock().
Referenced by main().
|
static |
Referenced by create_bg_descs(), main(), reserve_blocks(), write_bg_descs(), write_bitmaps(), write_blank_inode_tables(), and write_superblocks().
|
static |
Referenced by create_bg_descs(), main(), read_inode_block(), reserve_blocks(), write_bg_descs(), write_bitmaps(), write_blank_inode_tables(), and write_root_dir().
|
static |
Referenced by draw_icondata(), Game::DrawBlockAtPosition(), main(), write_bitmaps(), write_blank_inode_tables(), and write_root_dir().
|
static |
Referenced by create_bg_descs(), reserve_blocks(), write_bitmaps(), write_blank_inode_tables(), and write_root_dir().
|
static |
Referenced by create_bg_descs(), reserve_blocks(), write_bitmaps(), write_blank_inode_tables(), and write_root_dir().