#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "fsaccess.h"
#include "compiler.h"
#include "file.h"
#include "navigation.h"
#include "ctrl_access.h"
Functions | |
bool | b_fsaccess_init (void) |
This function initializes mutex and navigators. More... | |
int | close (int fd) |
This function closes a file. More... | |
long | fsaccess_alloc_nav_id (void) |
This function returns a free navigator id. More... | |
size_t | fsaccess_file_get_size (int fd) |
This function returns the opened file size. More... | |
void | fsaccess_free_nav_id (int fd) |
This function frees a navigator id. More... | |
void | fsaccess_give_mutex (void) |
This function frees the mutex. More... | |
int8_t | fsaccess_IsDirPresent (const char *pcStringDirName) |
Is a directory present? More... | |
void | fsaccess_take_mutex (void) |
This function gives the mutex to the caller. More... | |
int | open (const char *pathname, int flags,...) |
Mutex to access the File System. More... | |
ssize_t | read (int fd, void *buf, size_t count) |
This function reads from a file. More... | |
ssize_t | write (int fd, const void *buf, size_t count) |
This function writes to a file. More... | |
Variables | |
static unsigned int | pvNavUsed = 0 |
bitfield for navigator currently used. bit[0..31] is 1 if used, 0 if not. More... | |
bool b_fsaccess_init | ( | void | ) |
int close | ( | int | fd | ) |
This function closes a file.
fd | file descriptor. |
References file_close(), fsaccess_free_nav_id(), fsaccess_give_mutex(), fsaccess_take_mutex(), and nav_select().
Referenced by fsaccess_example_read(), and fsaccess_example_write().
long fsaccess_alloc_nav_id | ( | void | ) |
This function returns a free navigator id.
References FS_NB_NAVIGATOR, FS_NB_RESERVED_NAV, pvNavUsed, Set_bits, and Tst_bits.
Referenced by fsaccess_IsDirPresent(), and open().
size_t fsaccess_file_get_size | ( | int | fd | ) |
This function returns the opened file size.
fd | file descriptor. |
References fsaccess_give_mutex(), fsaccess_take_mutex(), nav_file_lgt(), and nav_select().
Referenced by fsaccess_example_read(), and fsaccess_example_write().
void fsaccess_free_nav_id | ( | int | fd | ) |
This function frees a navigator id.
fd | file descriptor. |
References Clr_bits, and pvNavUsed.
Referenced by close(), fsaccess_IsDirPresent(), and open().
void fsaccess_give_mutex | ( | void | ) |
This function frees the mutex.
Referenced by close(), fsaccess_file_get_size(), fsaccess_IsDirPresent(), open(), read(), and write().
int8_t fsaccess_IsDirPresent | ( | const char * | pcStringDirName | ) |
Is a directory present?
pcStringDirName | Input. Directory name string. |
References false, fsaccess_alloc_nav_id(), fsaccess_free_nav_id(), fsaccess_give_mutex(), fsaccess_take_mutex(), nav_select(), and nav_setcwd().
void fsaccess_take_mutex | ( | void | ) |
This function gives the mutex to the caller.
Referenced by close(), fsaccess_file_get_size(), fsaccess_IsDirPresent(), open(), read(), and write().
int open | ( | const char * | pathname, |
int | flags, | ||
... | |||
) |
Mutex to access the File System.
This function opens a file.
This function opens a file.
pathname | path of the file to open. |
flags | flags to give file access rights should be O_CREAT : create file if not exist O_APPEND : add data to the end of file O_RDONLY : Read Only O_WRONLY : Write Only O_RDWR : Read/Write |
References file_open(), FOPEN_MODE_APPEND, FOPEN_MODE_R, FOPEN_MODE_R_PLUS, FOPEN_MODE_W, fsaccess_alloc_nav_id(), fsaccess_free_nav_id(), fsaccess_give_mutex(), fsaccess_take_mutex(), nav_select(), nav_setcwd(), O_APPEND, O_CREAT, O_RDWR, and O_WRONLY.
Referenced by fsaccess_example_read(), and fsaccess_example_write().
ssize_t read | ( | int | fd, |
void * | buf, | ||
size_t | count | ||
) |
This function reads from a file.
fd | file descriptor. |
buf | pointer for data that are read. |
count | amount of bytes to read |
References file_eof(), file_read_buf(), fsaccess_give_mutex(), fsaccess_take_mutex(), and nav_select().
Referenced by fsaccess_example_read(), and fsaccess_example_write().
ssize_t write | ( | int | fd, |
const void * | buf, | ||
size_t | count | ||
) |
This function writes to a file.
fd | file descriptor. |
buf | pointer from where data are written. |
count | amount of bytes to write |
References file_write_buf(), fsaccess_give_mutex(), fsaccess_take_mutex(), and nav_select().
Referenced by fsaccess_example_write().
|
static |
bitfield for navigator currently used. bit[0..31] is 1 if used, 0 if not.
Referenced by fsaccess_alloc_nav_id(), and fsaccess_free_nav_id().