GitOS
Operating system exercise
Loading...
Searching...
No Matches
disk.h
Go to the documentation of this file.
1
#pragma once
2
7
#define DISK_TYPE_REAL 0
8
13
#define DISK_SECTOR_SIZE 512
14
#include <stdint.h>
15
16
typedef
unsigned
int
DISK_TYPE
;
17
18
struct
disk
19
{
20
DISK_TYPE
disk_type
;
21
int
sector_size
;
22
int
id
;
23
24
struct
filesystem
*
filesystem
;
25
void
*
fs_private
;
26
};
27
28
struct
partition_entry
{
29
uint8_t
status
;
30
uint8_t
chs_first
[3];
31
uint8_t
type
;
32
uint8_t
chs_last
[3];
33
uint32_t
starting_lba
;
34
uint32_t
size_in_sectors
;
35
}
__attribute__
((packed));
36
37
void
disk_search_and_init
();
38
int
disk_read_block
(
struct
disk
*
disk
,
unsigned
int
lba,
int
total,
void
* buf);
39
struct
disk
*
disk_get
(
int
index);
disk_get
struct disk * disk_get(int index)
Definition
disk.c:55
disk_search_and_init
void disk_search_and_init()
Definition
disk.c:46
DISK_TYPE
unsigned int DISK_TYPE
Definition
disk.h:16
disk_read_block
int disk_read_block(struct disk *disk, unsigned int lba, int total, void *buf)
Definition
disk.c:63
__attribute__
struct fat_directory __attribute__
disk
Definition
disk.h:19
disk::disk_type
DISK_TYPE disk_type
Definition
disk.h:20
disk::filesystem
struct filesystem * filesystem
Definition
disk.h:24
disk::id
int id
Definition
disk.h:22
disk::fs_private
void * fs_private
Definition
disk.h:25
disk::sector_size
int sector_size
Definition
disk.h:21
filesystem
Definition
file.h:75
partition_entry
Definition
disk.h:28
partition_entry::type
uint8_t type
Definition
disk.h:31
partition_entry::starting_lba
uint32_t starting_lba
Definition
disk.h:33
partition_entry::size_in_sectors
uint32_t size_in_sectors
Definition
disk.h:34
partition_entry::chs_last
uint8_t chs_last[3]
Definition
disk.h:32
partition_entry::chs_first
uint8_t chs_first[3]
Definition
disk.h:30
partition_entry::status
uint8_t status
Definition
disk.h:29
src
kernel
drivers
disk
disk.h
Generated by
1.9.8