Tenok
A Linux-like Real-Time Operating System for Robotics and Internet of Things
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
fs.h File Reference
#include <dirent.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
#include <common/list.h>
#include <kernel/wait.h>
#include "kconfig.h"
Include dependency graph for fs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  super_block
 
struct  block_header
 
struct  mount
 
struct  inode
 
struct  dentry
 
struct  file
 
struct  file_operations
 
struct  fdtable
 

Macros

#define RDEV_ROOTFS   0
 
#define FILE_RESERVED_NUM   (THREAD_MAX + 3)
 
#define THREAD_PIPE_FD(thread_id)   (thread_id + 3)
 

Typedefs

typedef void(* drv_init_func_t) (void)
 

Enumerations

enum  {
  FS_CREATE_FILE = 1 , FS_OPEN_FILE = 2 , FS_OPEN_DIR = 3 , FS_MOUNT = 4 ,
  FS_GET_CWD = 5 , FS_CHANGE_DIR = 6
}
 

Functions

void rootfs_init (void)
 
void link_stdin_dev (char *path)
 
void link_stdout_dev (char *path)
 
void link_stderr_dev (char *path)
 
int register_chrdev (char *name, struct file_operations *fops)
 
int register_blkdev (char *name, struct file_operations *fops)
 
int fs_read_dir (DIR *dirp, struct dirent *dirent)
 
uint32_t fs_get_block_addr (struct inode *inode, int blk_index)
 
uint32_t fs_file_append_block (struct inode *inode)
 
void request_create_file (int thread_id, const char *path, uint8_t file_type)
 
void request_open_file (int thread_id, const char *path)
 
void request_open_directory (int reply_fd, const char *path)
 
void request_mount (int thread_id, const char *source, const char *target)
 
void request_getcwd (int thread_id, char *buf, size_t len)
 
void request_chdir (int thread_id, const char *path)
 
void filesysd (void)
 
void fs_print_inode_bitmap (void)
 
void fs_print_block_bitmap (void)
 

Variables

enum { ... }  FS_SERVER_CMDS