grblHAL core  20241107
vfs.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

Go to the source code of this file.

Data Structures

struct  time_t
 
struct  tm
 
union  vfs_st_mode_t
 
struct  vfs_stat_t
 
struct  vfs_file_t
 
struct  vfs_dirent_t
 
struct  vfs_free_t
 
struct  embedded_file_t
 
struct  vfs_t
 
struct  vfs_events_t
 
struct  vfs_mount
 
struct  vfs_mount_ll_entry
 
struct  vfs_drives_t
 
struct  vfs_drive_t
 
struct  vfs_dir
 

Macros

#define GRBL_VFS
 
#define vfs_load_plugin(x)
 
#define bcopy(src, dest, len)   memmove(dest, src, len)
 

Typedefs

typedef struct vfs_dir vfs_dir_t
 
typedef vfs_file_t *(* vfs_open_ptr) (const char *filename, const char *mode)
 
typedef char *(* vfs_getcwd_ptr) (char *buf, size_t size)
 
typedef size_t(* vfs_read_ptr) (void *buffer, size_t size, size_t count, vfs_file_t *file)
 
typedef size_t(* vfs_write_ptr) (const void *buffer, size_t size, size_t count, vfs_file_t *file)
 
typedef void(* vfs_close_ptr) (vfs_file_t *file)
 
typedef size_t(* vfs_ftell_ptr) (vfs_file_t *file)
 
typedef int(* vfs_fseek_ptr) (vfs_file_t *file, size_t offset)
 
typedef bool(* vfs_eof_ptr) (vfs_file_t *file)
 
typedef int(* vfs_rename_ptr) (const char *from, const char *to)
 
typedef int(* vfs_unlink_ptr) (const char *filename)
 
typedef int(* vfs_mkdir_ptr) (const char *path)
 
typedef int(* vfs_chdir_ptr) (const char *path)
 
typedef int(* vfs_rmdir_ptr) (const char *path)
 
typedef vfs_dir_t *(* vfs_opendir_ptr) (const char *path)
 
typedef char *(* vfs_readdir_ptr) (vfs_dir_t *dir, vfs_dirent_t *dirent)
 
typedef void(* vfs_closedir_ptr) (vfs_dir_t *dir)
 
typedef int(* vfs_stat_ptr) (const char *filename, vfs_stat_t *st)
 
typedef int(* vfs_utime_ptr) (const char *filename, struct tm *modified)
 
typedef bool(* vfs_getfree_ptr) (vfs_free_t *free)
 
typedef int(* vfs_format_ptr) (void)
 
typedef void(* on_vfs_changed_ptr) (const vfs_t *fs)
 
typedef void(* on_vfs_mount_ptr) (const char *path, const vfs_t *fs)
 
typedef void(* on_vfs_unmount_ptr) (const char *path)
 
typedef struct vfs_mount vfs_mount_t
 
typedef struct vfs_mount_ll_entry vfs_mount_ll_entry_t
 

Functions

char * vfs_fixpath (char *path)
 
bool vfs_mount (const char *path, const vfs_t *fs, vfs_st_mode_t mode)
 
bool vfs_unmount (const char *path)
 
vfs_file_tvfs_open (const char *filename, const char *mode)
 
void vfs_close (vfs_file_t *file)
 
size_t vfs_read (void *buffer, size_t size, size_t count, vfs_file_t *file)
 
size_t vfs_write (const void *buffer, size_t size, size_t count, vfs_file_t *file)
 
int vfs_puts (const char *s, vfs_file_t *file)
 
size_t vfs_tell (vfs_file_t *file)
 
int vfs_seek (vfs_file_t *file, size_t offset)
 
bool vfs_eof (vfs_file_t *file)
 
int vfs_rename (const char *from, const char *to)
 
int vfs_unlink (const char *filename)
 
int vfs_mkdir (const char *path)
 
int vfs_rmdir (const char *path)
 
int vfs_chdir (const char *path)
 
vfs_dir_tvfs_opendir (const char *path)
 
vfs_dirent_tvfs_readdir (vfs_dir_t *dir)
 
void vfs_closedir (vfs_dir_t *dir)
 
char * vfs_getcwd (char *buf, size_t len)
 
int vfs_stat (const char *filename, vfs_stat_t *st)
 
int vfs_utime (const char *filename, struct tm *modified)
 
vfs_free_tvfs_fgetfree (const char *path)
 
vfs_drives_tvfs_drives_open (void)
 
vfs_drive_tvfs_drives_read (vfs_drives_t *handle, bool add_hidden)
 
void vfs_drives_close (vfs_drives_t *handle)
 
vfs_free_tvfs_drive_getfree (vfs_drive_t *drive)
 
int vfs_drive_format (vfs_drive_t *drive)
 
vfs_drive_tvfs_get_drive (const char *path)
 

Variables

int vfs_errno
 
vfs_events_t vfs
 

Macro Definition Documentation

◆ bcopy

#define bcopy (   src,
  dest,
  len 
)    memmove(dest, src, len)

◆ GRBL_VFS

#define GRBL_VFS

◆ vfs_load_plugin

#define vfs_load_plugin (   x)

Typedef Documentation

◆ on_vfs_changed_ptr

typedef void(* on_vfs_changed_ptr) (const vfs_t *fs)

◆ on_vfs_mount_ptr

typedef void(* on_vfs_mount_ptr) (const char *path, const vfs_t *fs)

◆ on_vfs_unmount_ptr

typedef void(* on_vfs_unmount_ptr) (const char *path)

◆ vfs_chdir_ptr

typedef int(* vfs_chdir_ptr) (const char *path)

◆ vfs_close_ptr

typedef void(* vfs_close_ptr) (vfs_file_t *file)

◆ vfs_closedir_ptr

typedef void(* vfs_closedir_ptr) (vfs_dir_t *dir)

◆ vfs_dir_t

typedef struct vfs_dir vfs_dir_t

◆ vfs_eof_ptr

typedef bool(* vfs_eof_ptr) (vfs_file_t *file)

◆ vfs_format_ptr

typedef int(* vfs_format_ptr) (void)

◆ vfs_fseek_ptr

typedef int(* vfs_fseek_ptr) (vfs_file_t *file, size_t offset)

◆ vfs_ftell_ptr

typedef size_t(* vfs_ftell_ptr) (vfs_file_t *file)

◆ vfs_getcwd_ptr

typedef char*(* vfs_getcwd_ptr) (char *buf, size_t size)

◆ vfs_getfree_ptr

typedef bool(* vfs_getfree_ptr) (vfs_free_t *free)

◆ vfs_mkdir_ptr

typedef int(* vfs_mkdir_ptr) (const char *path)

◆ vfs_mount_ll_entry_t

◆ vfs_mount_t

typedef struct vfs_mount vfs_mount_t

◆ vfs_open_ptr

typedef vfs_file_t*(* vfs_open_ptr) (const char *filename, const char *mode)

◆ vfs_opendir_ptr

typedef vfs_dir_t*(* vfs_opendir_ptr) (const char *path)

◆ vfs_read_ptr

typedef size_t(* vfs_read_ptr) (void *buffer, size_t size, size_t count, vfs_file_t *file)

◆ vfs_readdir_ptr

typedef char*(* vfs_readdir_ptr) (vfs_dir_t *dir, vfs_dirent_t *dirent)

◆ vfs_rename_ptr

typedef int(* vfs_rename_ptr) (const char *from, const char *to)

◆ vfs_rmdir_ptr

typedef int(* vfs_rmdir_ptr) (const char *path)

◆ vfs_stat_ptr

typedef int(* vfs_stat_ptr) (const char *filename, vfs_stat_t *st)

◆ vfs_unlink_ptr

typedef int(* vfs_unlink_ptr) (const char *filename)

◆ vfs_utime_ptr

typedef int(* vfs_utime_ptr) (const char *filename, struct tm *modified)

◆ vfs_write_ptr

typedef size_t(* vfs_write_ptr) (const void *buffer, size_t size, size_t count, vfs_file_t *file)

Function Documentation

◆ vfs_chdir()

int vfs_chdir ( const char *  path)

◆ vfs_close()

void vfs_close ( vfs_file_t file)

◆ vfs_closedir()

void vfs_closedir ( vfs_dir_t dir)

◆ vfs_drive_format()

int vfs_drive_format ( vfs_drive_t drive)

◆ vfs_drive_getfree()

vfs_free_t* vfs_drive_getfree ( vfs_drive_t drive)

◆ vfs_drives_close()

void vfs_drives_close ( vfs_drives_t handle)

◆ vfs_drives_open()

vfs_drives_t* vfs_drives_open ( void  )

◆ vfs_drives_read()

vfs_drive_t* vfs_drives_read ( vfs_drives_t handle,
bool  add_hidden 
)

◆ vfs_eof()

bool vfs_eof ( vfs_file_t file)

◆ vfs_fgetfree()

vfs_free_t* vfs_fgetfree ( const char *  path)

◆ vfs_fixpath()

char* vfs_fixpath ( char *  path)

◆ vfs_get_drive()

vfs_drive_t* vfs_get_drive ( const char *  path)

◆ vfs_getcwd()

char* vfs_getcwd ( char *  buf,
size_t  len 
)

◆ vfs_mkdir()

int vfs_mkdir ( const char *  path)

◆ vfs_mount()

bool vfs_mount ( const char *  path,
const vfs_t fs,
vfs_st_mode_t  mode 
)

◆ vfs_open()

vfs_file_t* vfs_open ( const char *  filename,
const char *  mode 
)

◆ vfs_opendir()

vfs_dir_t* vfs_opendir ( const char *  path)

◆ vfs_puts()

int vfs_puts ( const char *  s,
vfs_file_t file 
)

◆ vfs_read()

size_t vfs_read ( void *  buffer,
size_t  size,
size_t  count,
vfs_file_t file 
)

◆ vfs_readdir()

vfs_dirent_t* vfs_readdir ( vfs_dir_t dir)

◆ vfs_rename()

int vfs_rename ( const char *  from,
const char *  to 
)

◆ vfs_rmdir()

int vfs_rmdir ( const char *  path)

◆ vfs_seek()

int vfs_seek ( vfs_file_t file,
size_t  offset 
)

◆ vfs_stat()

int vfs_stat ( const char *  filename,
vfs_stat_t st 
)

◆ vfs_tell()

size_t vfs_tell ( vfs_file_t file)

◆ vfs_unlink()

int vfs_unlink ( const char *  filename)

◆ vfs_unmount()

bool vfs_unmount ( const char *  path)

◆ vfs_utime()

int vfs_utime ( const char *  filename,
struct tm modified 
)

◆ vfs_write()

size_t vfs_write ( const void *  buffer,
size_t  size,
size_t  count,
vfs_file_t file 
)

Variable Documentation

◆ vfs

vfs_events_t vfs
extern

◆ vfs_errno

int vfs_errno
extern