git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: block partition support
[lunaix-os.git]
/
lunaix-os
/
includes
/
lunaix
/
block.h
diff --git
a/lunaix-os/includes/lunaix/block.h
b/lunaix-os/includes/lunaix/block.h
index 4b0c824d1ca06f77e3da46c9a53628da3b15ea09..551bc22818a64531fad899c05bfc2243ad82a261 100644
(file)
--- a/
lunaix-os/includes/lunaix/block.h
+++ b/
lunaix-os/includes/lunaix/block.h
@@
-11,22
+11,17
@@
struct block_dev
{
struct block_dev
{
- char bdev_id[DEV_ID_SIZE];
- char name[PARTITION_NAME_SIZE];
+ struct llist_header parts;
struct blkio_context* blkio;
struct device* dev;
struct blkio_context* blkio;
struct device* dev;
+ char bdev_id[DEV_ID_SIZE];
+ char name[PARTITION_NAME_SIZE];
void* driver;
void* driver;
+ u64_t start_lba;
u64_t end_lba;
u32_t blk_size;
};
u64_t end_lba;
u32_t blk_size;
};
-struct lpt_entry
-{
- char part_name[PARTITION_NAME_SIZE];
- u64_t base_lba;
- u64_t end_lba;
-} __attribute__((packed));
-
// Lunaix Partition Table
struct lpt_header
{
// Lunaix Partition Table
struct lpt_header
{
@@
-56,4
+51,11
@@
blk_mapping_init();
void
blk_set_blkmapping(struct block_dev* bdev, void* fsnode);
void
blk_set_blkmapping(struct block_dev* bdev, void* fsnode);
+struct block_dev*
+blk_mount_part(struct block_dev* bdev,
+ const char* name,
+ size_t index,
+ u64_t start_lba,
+ u64_t end_lba);
+
#endif /* __LUNAIX_BLOCK_H */
#endif /* __LUNAIX_BLOCK_H */