xv6-simplified
0.1
简化版xv6
Loading...
Searching...
No Matches
src
include
file.h
Go to the documentation of this file.
1
10
// 文件描述符
11
struct
file
{
12
enum
{
FD_NONE
,
FD_PIPE
,
FD_ENTRY
,
FD_DEVICE
}
type
;
13
int
ref
;
// 引用数
14
char
readable
;
15
char
writable
;
16
struct
pipe
*
pipe
;
// FD_PIPE
17
// struct inode* ip; // FD_INODE 和 FD_DEVICE
18
struct
dirent
*
entry
;
// 目录项
19
uint
off
;
// FD_ENTRY
20
short
major
;
// FD_DEVICE
21
};
22
23
struct
devsw
{
24
int (*
read
)(int,
uint64
, int);
25
int (*
write
)(int,
uint64
, int);
26
};
27
28
extern
struct
devsw
devsw
[];
29
30
#define CONSOLE 1
31
32
// #define major(dev) ((dev) >> 16 & 0xFFFF)
33
// #define minor(dev) ((dev) & 0xFFFF)
34
// #define mkdev(m,n) ((uint)((m)<<16| (n)))
devsw
Definition
file.h:23
devsw::read
int(* read)(int, uint64, int)
Definition
file.h:24
devsw::write
int(* write)(int, uint64, int)
Definition
file.h:25
dirent
Definition
fat32.h:31
file
Definition
file.h:11
file::FD_DEVICE
@ FD_DEVICE
Definition
file.h:12
file::FD_ENTRY
@ FD_ENTRY
Definition
file.h:12
file::FD_NONE
@ FD_NONE
Definition
file.h:12
file::FD_PIPE
@ FD_PIPE
Definition
file.h:12
file::off
uint off
Definition
file.h:19
file::pipe
struct pipe * pipe
Definition
file.h:16
file::writable
char writable
Definition
file.h:15
file::readable
char readable
Definition
file.h:14
file::entry
struct dirent * entry
Definition
file.h:18
file::major
short major
Definition
file.h:20
file::ref
int ref
Definition
file.h:13
file::type
enum file::@0 type
uint64
unsigned long uint64
Definition
types.h:24
uint
unsigned int uint
Definition
types.h:11
Generated by
1.9.7