57 lines
1005 B
C
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 */
|
|
};
|