Simple Operating System
file.h File Reference

File IO. More...

#include "types.h"
Include dependency graph for file.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FILE
 Information about file. More...
 

Functions

FILEopen (int filename, int mode)
 Open file. More...
 
int read (int buf, size_t size, FILE *stream)
 Read from file. More...
 
int write (int buf, size_t size, FILE *stream)
 Write to file. More...
 
int create (const int filename, size_t size)
 Create file. More...
 
int remove (const int filename)
 Remove file. More...
 

Detailed Description

File IO.

Todo:
remove FILE as pointer

Definition in file file.h.

Function Documentation

◆ create()

int create ( const int  filename,
size_t  size 
)

Create file.

Parameters
filename
sizein sectors(512B) >=0
Returns
int new file's id or -error

Definition at line 77 of file file.h.

◆ open()

FILE* open ( int  filename,
int  mode 
)

Open file.

Parameters
filename
mode
Todo:
add modes, see sys_write() todo
Returns
FILE*

Definition at line 33 of file file.h.

◆ read()

int read ( int  buf,
size_t  size,
FILE stream 
)

Read from file.

Parameters
bufpointer to target memory
sizeto read in bytes
streamFILE
Returns
int actually readed Bytes or -error

Definition at line 53 of file file.h.

◆ remove()

int remove ( const int  filename)

Remove file.

Parameters
filename
Returns
int 0 if success or -error

Definition at line 87 of file file.h.

◆ write()

int write ( int  buf,
size_t  size,
FILE stream 
)

Write to file.

Parameters
bufpointer to source memory
sizeto write in Bytes, file will be rounded to whole sectors
streamFILE
Returns
int actually written Bytes or -error

Definition at line 66 of file file.h.