2024-09-17 09:39:46 -05:00
|
|
|
acs := @use("rel:acs.hb")
|
|
|
|
|
|
|
|
// Paths without a node-disk component are to be treated as local files.
|
|
|
|
// file_path := "DID:/test\0";
|
2024-09-17 09:52:27 -05:00
|
|
|
Path := struct {// DiskID holds the host id
|
|
|
|
disk_id: acs.DiskID, length: u8, data: ^u8}
|
2024-09-17 08:01:16 -05:00
|
|
|
|
|
|
|
FileID := struct {
|
|
|
|
host_id: int,
|
|
|
|
id: int,
|
|
|
|
}
|
|
|
|
|
|
|
|
open := fn(file_path: Path): FileID {
|
|
|
|
}
|
|
|
|
close := fn(file_id: FileID): int {
|
|
|
|
}
|
|
|
|
// This reads in page_count of pages out of the file. If file_size is less than an exact multiple of pages do something.
|
|
|
|
// TODO: Figureout how to encode errors.
|
|
|
|
read_pages := fn(file_id: FileID, offset: int, page_count: int): void {
|
|
|
|
}
|
|
|
|
|
|
|
|
// This writes out page_count of pages out of the file.
|
|
|
|
write_pages := fn(file_id: FileID, offset: int, page_count: int): void {
|
|
|
|
}
|
|
|
|
|
|
|
|
// This reads out byte_count of bytes from the file.
|
|
|
|
read_bytes := fn(file_id: FileID, offset: int, byte_count: int): void {
|
|
|
|
}
|
|
|
|
|
|
|
|
write_bytes := fn(file_id: FileID, offset: int, byte_count: int): void {
|
|
|
|
}
|