file mapping stub

This commit is contained in:
Matheus
2022-10-22 10:58:43 -03:00
parent 5659a2a397
commit 813ab0060c
8 changed files with 131 additions and 17 deletions
+2
View File
@@ -18,6 +18,7 @@ typedef struct{
int (*isseekable)(int minor, size_t* seekmax);
int (*ioctl)(int minor, unsigned long request, void* arg, int* result);
int (*poll)(int minor, pollfd* fd);
int (*map)(int minor, void* addr, size_t len, size_t offset, size_t mmuflags);
} devcalls;
int devman_read(int *error, int dev, void* buff, size_t count, size_t offset);
@@ -27,6 +28,7 @@ int devman_isatty(int dev);
int devman_isseekable(int dev, size_t* seekmax);
int devman_ioctl(int dev, unsigned long request, void* arg, int* result);
int devman_poll(int dev, pollfd* fd);
int devman_map(int dev, void* addr, size_t len, size_t offset, size_t mmuflags);
void devman_init();
#endif
+1
View File
@@ -90,6 +90,7 @@ int vfs_poll(vnode_t* node, pollfd* fd);
int vfs_chmod(vnode_t* node, mode_t mode);
int vfs_symlink(dirnode_t* ref, char* path, char* target, mode_t mode);
int vfs_link(dirnode_t* ref, vnode_t* link, char* path);
int vfs_map(vnode_t* node, void* addr, size_t len, size_t offset, size_t mmuflags);
void vfs_init();
dirnode_t* vfs_root();
+2
View File
@@ -1,6 +1,7 @@
#ifndef _VMM_H_INCLUDE
#define _VMM_H_INCLUDE
#include <kernel/vfs.h>
#include <arch/mmu.h>
#include <stdbool.h>
#include <stddef.h>
@@ -64,6 +65,7 @@ void* vmm_alloc(size_t pagec, size_t mmuflags);
bool vmm_setfree(void* addr, size_t pagec);
bool vmm_allocnowat(void* addr, size_t mmuflags, size_t size);
void* vmm_allocfrom(void* addr, size_t mmuflags, size_t size);
int vmm_mapfile(vnode_t* node, void* addr, size_t len, size_t offset, size_t mmuflags);
vmm_context* vmm_newcontext();
void vmm_switchcontext(vmm_context*);
int vmm_fork(vmm_context* oldctx, vmm_context* newctx);