Generic Block Devices
struct generic_partition { struct generic_disk *disk; uint64_t start_lba; uint64_t sector_count; enum fs_type fs_type; void *fs_data; char name[16]; bool mounted; struct vfs_node *(*mount)(struct generic_partition *);};struct generic_partition referenced types:
struct generic_disk { enum disk_flags flags; enum generic_disk_type type; enum fs_type fs_type; void *fs_data; char name[16]; uint64_t total_sectors; bool is_removable; void *driver_data; uint32_t sector_size; bool (*read_sector)(struct generic_disk *disk, uint64_t lba, uint8_t *buffer, uint64_t sector_count); bool (*write_sector)(struct generic_disk *disk, uint64_t lba, const uint8_t *buffer, uint64_t sector_count); bool (*submit_bio_async)(struct generic_disk *disk, struct bio_request *bio); struct bio_scheduler_ops *ops; struct bio_scheduler *scheduler; struct bcache *cache; uint64_t partition_count; struct generic_partition *partitions;};struct generic_disk referenced types:
enum disk_flagsenum generic_disk_typeenum fs_typestruct bio_scheduler_opsstruct bio_schedulerstruct bcachestruct generic_partition
enum generic_disk_type { G_IDE_DRIVE, G_NVME_DRIVE, G_AHCI_DRIVE, G_ATAPI_DRIVE,};enum disk_flags { DISK_FLAG_NO_REORDER = 1, DISK_FLAG_NO_COALESCE = 1 << 1, DISK_FLAG_NO_SCHED = 1 << 2,};char get_generic_disk_str(enum generic_disk_type type);get_generic_disk_str referenced types:
char get_generic_disk_dev_str(enum generic_disk_type t);get_generic_disk_dev_str referenced types:
bool disk_skip_coalesce(struct generic_disk *disk);disk_skip_coalesce referenced types:
bool disk_skip_sched(struct generic_disk *disk);disk_skip_sched referenced types:
bool disk_skip_reorder(struct generic_disk *disk);disk_skip_reorder referenced types: