ApertureOS
ext2.h
Go to the documentation of this file.
1 #ifndef _EXT2_FS_DRIVER_H_
2 #define _EXT2_FS_DRIVER_H_
3 
4 #include "types.h"
5 #include "managers.h"
6 #include "../priv_filesystem.h"
7 #include "ext2_structs.h"
8 
9 uint32_t _EXT2_Initialize(FileDescriptor *desc);
10 uint32_t _EXT2_Filesystem_OpenFile(FileDescriptor *desc, const char *filename, int flags, int perms);
11 uint8_t _EXT2_Filesystem_ReadFile(FileDescriptor *desc, UID id, uint8_t *buffer, size_t size);
12 uint64_t _EXT2_Filesystem_SeekFile(FileDescriptor *desc, uint32_t fd, uint64_t offset, int whence);
13 uint8_t _EXT2_Filesystem_CloseFile(FileDescriptor *desc, uint32_t fd);
14 uint8_t _EXT2_Filesystem_DeleteFile(FileDescriptor *desc, const char *file);
15 uint8_t _EXT2_Filesystem_RenameFile(FileDescriptor *desc, const char *orig_name, const char *new_name);
16 
17 uint32_t _EXT2_Filesystem_OpenDir(FileDescriptor *desc, const char *filename);
18 uint8_t _EXT2_Filesystem_ReadDir(FileDescriptor *desc, uint32_t dd, Filesystem_DirEntry *dir);
19 uint8_t _EXT2_Filesystem_CloseDir(FileDescriptor *desc, uint32_t fd);
20 uint8_t _EXT2_Filesystem_MakeDir(FileDescriptor *desc, const char *path);
21 uint8_t _EXT2_Filesystem_DeleteDir(FileDescriptor *desc, const char *path);
22 
23 typedef struct EXT2_FD_T
24 {
25  uint32_t id;
27  uint32_t inode;
28  uint64_t extra_info;
29  uint64_t more_extra_info;
30  struct EXT2_FD_T *next;
31  struct EXT2_FD_T *prev;
32 } EXT2_FD;
33 
34 #endif
Definition: filesystem.h:36
bool is_directory
Definition: ext2.h:26
Definition: ext2.h:23
uint64_t more_extra_info
Definition: ext2.h:29
uint32_t id
Definition: ext2.h:25
uint32_t _EXT2_Filesystem_OpenFile(FileDescriptor *desc, const char *filename, int flags, int perms)
Definition: ext2.c:78
uint64_t UID
Definition: types.h:8
uint8_t _EXT2_Filesystem_DeleteFile(FileDescriptor *desc, const char *file)
Definition: ext2.c:208
uint8_t _EXT2_Filesystem_CloseFile(FileDescriptor *desc, uint32_t fd)
Definition: ext2.c:195
EXT2_FD * fd
Definition: ext2.c:6
uint8_t _EXT2_Filesystem_RenameFile(FileDescriptor *desc, const char *orig_name, const char *new_name)
Definition: ext2.c:259
uint32_t inode
Definition: ext2.h:27
uint64_t extra_info
Definition: ext2.h:28
struct EXT2_FD_T * next
Definition: ext2.h:30
uint64_t _EXT2_Filesystem_SeekFile(FileDescriptor *desc, uint32_t fd, uint64_t offset, int whence)
Definition: ext2.c:163
uint8_t _EXT2_Filesystem_DeleteDir(FileDescriptor *desc, const char *path)
Definition: ext2.c:352
uint8_t _EXT2_Filesystem_MakeDir(FileDescriptor *desc, const char *path)
Definition: ext2.c:343
struct EXT2_FD_T * prev
Definition: ext2.h:31
uint8_t _EXT2_Filesystem_ReadFile(FileDescriptor *desc, UID id, uint8_t *buffer, size_t size)
Definition: ext2.c:114
uint8_t _EXT2_Filesystem_CloseDir(FileDescriptor *desc, uint32_t fd)
Definition: ext2.c:335
uint32_t _EXT2_Initialize(FileDescriptor *desc)
Definition: ext2.c:23
uint32_t _EXT2_Filesystem_OpenDir(FileDescriptor *desc, const char *filename)
Definition: ext2.c:267
uint8_t _EXT2_Filesystem_ReadDir(FileDescriptor *desc, uint32_t dd, Filesystem_DirEntry *dir)
Definition: ext2.c:287