Rev 2521 | Rev 2526 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2521 | Rev 2523 | ||
---|---|---|---|
Line 31... | Line 31... | ||
31 | */ |
31 | */ |
32 | 32 | ||
33 | #ifndef VFS_VFS_H_ |
33 | #ifndef VFS_VFS_H_ |
34 | #define VFS_VFS_H_ |
34 | #define VFS_VFS_H_ |
35 | 35 | ||
- | 36 | #include <ipc/ipc.h> |
|
- | 37 | ||
- | 38 | #define VFS_FIRST FIRST_USER_METHOD |
|
- | 39 | ||
36 | typedef enum { |
40 | typedef enum { |
37 | VFS_REGISTER = 0, |
41 | VFS_REGISTER = VFS_FIRST, |
38 | VFS_MOUNT, |
42 | VFS_MOUNT, |
39 | VFS_UNMOUNT, |
43 | VFS_UNMOUNT, |
40 | VFS_OPEN, |
44 | VFS_OPEN, |
- | 45 | VFS_CREATE, |
|
- | 46 | VFS_CLOSE, |
|
- | 47 | VFS_READ, |
|
- | 48 | VFS_WRITE, |
|
- | 49 | VFS_SEEK, |
|
41 | VFS_LAST, /* keep this the last member of the enum */ |
50 | VFS_LAST, /* keep this the last member of the enum */ |
42 | } vfs_request_t; |
51 | } vfs_request_t; |
43 | 52 | ||
44 | 53 | ||
45 | /** |
54 | /** |
46 | * An instance of this structure is associated with a particular FS operation. |
55 | * An instance of this structure is associated with a particular FS operation. |
47 | * It tells VFS if the FS supports the operation or maybe if a default one |
56 | * It tells VFS if the FS supports the operation or maybe if a default one |
48 | * should be used. |
57 | * should be used. |
49 | */ |
58 | */ |
50 | typedef enum { |
59 | typedef enum { |
51 | VFS_OP_NOTSUP = 0, |
60 | VFS_OP_NULL = 0, |
52 | VFS_OP_DEFAULT, |
61 | VFS_OP_DEFAULT, |
53 | VFS_OP_DEFINED |
62 | VFS_OP_DEFINED |
54 | } vfs_op_t; |
63 | } vfs_op_t; |
55 | 64 | ||
56 | #define FS_NAME_MAXLEN 20 |
65 | #define FS_NAME_MAXLEN 20 |
Line 60... | Line 69... | ||
60 | * registration. It assosiates a human-readable identifier with each |
69 | * registration. It assosiates a human-readable identifier with each |
61 | * registered FS. More importantly, through this structure, the FS announces |
70 | * registered FS. More importantly, through this structure, the FS announces |
62 | * what operations it supports. |
71 | * what operations it supports. |
63 | */ |
72 | */ |
64 | typedef struct { |
73 | typedef struct { |
65 | char fs_name[FS_NAME_MAXLEN]; /**< Unique identifier of the fs. */ |
74 | /** Unique identifier of the fs. */ |
- | 75 | char fs_name[FS_NAME_MAXLEN]; |
|
- | 76 | ||
- | 77 | /** Operations. */ |
|
66 | vfs_op_t ops[VFS_LAST]; /**< Operations. */ |
78 | vfs_op_t ops[VFS_LAST - VFS_FIRST]; |
67 | } vfs_info_t; |
79 | } vfs_info_t; |
68 | 80 | ||
69 | #endif |
81 | #endif |
70 | 82 | ||
71 | /** |
83 | /** |
72 | * @} |
84 | * @} |
73 | */ |
85 | */ |