GitOS
Operating system exercise
Loading...
Searching...
No Matches
file.h
Go to the documentation of this file.
1//
2// Created by Paweł Reich on 2/5/25.
3//
4
5#pragma once
6
7#include <stdint-gcc.h>
8
9typedef unsigned int FILE_SEEK_MODE;
10typedef unsigned int FILE_MODE;
11typedef unsigned int FILE_STAT_FLAGS;
12
33
41
43{
44 FILE_STAT_READ_ONLY = 0b00000001,
45 FILE_STAT_FOLDER = 0b00000010
46};
47
48struct file_stat
49{
51 uint32_t filesize;
52};
53
54int fopen(const char* filename, const char* mode);
55int fread(void* ptr, uint32_t size, uint32_t nmemb, int fd);
56int fwrite(void* ptr, uint32_t size, uint32_t nmemb, int fd);
57int fstat(int fd, struct file_stat* stat);
58int fseek(int fd, int offset, FILE_SEEK_MODE whence);
59int fclose(int fd);
uint32_t offset
Definition BMPFile.hpp:3
uint8_t filename[8]
Definition fat16.h:0
uint16_t size
Definition gdt.h:0
FILE_SEEK_MODES
Definition file.h:17
@ SEEK_END
Absolute position from the end of file.
Definition file.h:34
@ SEEK_SET
Absolute position from 0.
Definition file.h:22
@ SEEK_CUR
Relative position.
Definition file.h:28
int fstat(int fd, struct file_stat *stat)
Returns file status.
Definition file.c:317
unsigned int FILE_STAT_FLAGS
Definition file.h:14
int fseek(int fd, int offset, FILE_SEEK_MODE whence)
Seeks into file.
Definition file.c:301
int fclose(int fd)
Closes file descriptor.
Definition file.c:332
int fwrite(void *ptr, uint32_t size, uint32_t nmemb, int fd)
Writes to file.
Definition file.c:282
unsigned int FILE_MODE
Definition file.h:13
int fopen(const char *filename, const char *mode)
Opens file.
Definition file.c:181
FILE_STAT_FLAGS_ENUM
Definition file.h:46
@ FILE_STAT_READ_ONLY
Definition file.h:47
@ FILE_STAT_FOLDER
Definition file.h:48
unsigned int FILE_SEEK_MODE
Definition file.h:12
FILE_OPEN_MODES
Definition file.h:38
@ FILE_MODE_WRITE
Definition file.h:40
@ FILE_MODE_INVALID
Definition file.h:42
@ FILE_MODE_READ
Definition file.h:39
@ FILE_MODE_APPEND
Definition file.h:41
int fread(void *ptr, uint32_t size, uint32_t nmemb, int fd)
Reads from file.
Definition file.c:263
Definition file.h:60
uint32_t filesize
Definition file.h:62
FILE_STAT_FLAGS flags
Definition file.h:61