2021-05-23 22:24:02 +08:00

57 lines
1005 B
C

#pragma once
#define TMPFS_MAP_BUF 1
#define TMPFS_SCAN 2
#define TMPFS_MKDIR 3
#define TMPFS_RMDIR 4
#define TMPFS_CREAT 5
#define TMPFS_UNLINK 6
#define TMPFS_OPEN 7
#define TMPFS_CLOSE 8
#define TMPFS_WRITE 9
#define TMPFS_READ 10
#define TMPFS_GET_SIZE 999
#define TMPFS_INFO_VADDR 0x200000
#define TMPFS_SCAN_BUF_VADDR 0x20000000
#define TMPFS_READ_BUF_VADDR 0x30000000
enum FS_REQ {
FS_REQ_OPEN = 0,
FS_REQ_CLOSE,
FS_REQ_CREAT,
FS_REQ_MKDIR,
FS_REQ_RMDIR,
FS_REQ_UNLINK,
FS_REQ_SCAN,
FS_REQ_READ,
FS_REQ_WRITE,
FS_REQ_GET_SIZE
};
#define FS_REQ_PATH_LEN (256)
struct fs_request {
enum FS_REQ req;
char *buff;
int flags;
off_t offset;
ssize_t count;
char path[FS_REQ_PATH_LEN];
};
struct dirent {
ino_t d_ino; /* Inode number */
off_t d_off; /* Not an offset; see below */
unsigned short d_reclen; /* Length of this record */
unsigned char d_type; /* Type of file; not supported
by all filesystem types */
char d_name[256]; /* Null-terminated filename */
};