Subversion Repositories HelenOS

Rev

Rev 2687 | Rev 2691 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2687 Rev 2690
Line 45... Line 45...
45
#define VFS_FIRST   IPC_FIRST_USER_METHOD
45
#define VFS_FIRST   IPC_FIRST_USER_METHOD
46
 
46
 
47
#define IPC_METHOD_TO_VFS_OP(m) ((m) - VFS_FIRST)   
47
#define IPC_METHOD_TO_VFS_OP(m) ((m) - VFS_FIRST)   
48
 
48
 
49
typedef enum {
49
typedef enum {
50
    VFS_REGISTER = VFS_FIRST,
50
    VFS_OPEN = VFS_FIRST,
51
    VFS_MOUNT,
-
 
52
    VFS_UNMOUNT,
-
 
53
    VFS_LOOKUP,
-
 
54
    VFS_OPEN,
-
 
55
    VFS_CREATE,
-
 
56
    VFS_CLOSE,
51
    VFS_CLOSE,
57
    VFS_READ,
52
    VFS_READ,
58
    VFS_WRITE,
53
    VFS_WRITE,
59
    VFS_SEEK,
54
    VFS_TRUNCATE,
60
    VFS_RENAME,
55
    VFS_RENAME,
-
 
56
    VFS_OPENDIR,
-
 
57
    VFS_READDIR,
-
 
58
    VFS_CLOSEDIR,
61
    VFS_UNLINK,
59
    VFS_UNLINK,
-
 
60
    VFS_MOUNT,
-
 
61
    VFS_UNMOUNT,
62
    VFS_LAST,       /* keep this the last member of the enum */
62
    VFS_LAST_CMN,   /* keep this the last member of this enum */
63
} vfs_request_t;
63
} vfs_request_cmn_t;
-
 
64
 
-
 
65
typedef enum {
-
 
66
    VFS_LOOKUP = VFS_LAST_CMN,
-
 
67
    VFS_LAST_CLNT,  /* keep this the last member of this enum */
-
 
68
} vfs_request_clnt_t;
-
 
69
 
-
 
70
typedef enum {
-
 
71
    VFS_REGISTER = VFS_LAST_CMN,
-
 
72
    VFS_SEEK,
-
 
73
    VFS_LAST_SRV,   /* keep this the last member of this enum */
-
 
74
} vfs_request_srv_t;
64
 
75
 
65
 
76
 
66
/**
77
/**
67
 * An instance of this structure is associated with a particular FS operation.
78
 * An instance of this structure is associated with a particular FS operation.
68
 * It tells VFS if the FS supports the operation or maybe if a default one
79
 * It tells VFS if the FS supports the operation or maybe if a default one
Line 85... Line 96...
85
typedef struct {
96
typedef struct {
86
    /** Unique identifier of the fs. */
97
    /** Unique identifier of the fs. */
87
    char name[FS_NAME_MAXLEN + 1];
98
    char name[FS_NAME_MAXLEN + 1];
88
   
99
   
89
    /** Operations. */
100
    /** Operations. */
90
    vfs_op_t ops[VFS_LAST - VFS_FIRST];
101
    vfs_op_t ops[VFS_LAST_CLNT - VFS_FIRST];
91
} vfs_info_t;
102
} vfs_info_t;
92
 
103
 
93
/**
104
/**
94
 * A structure like this will be allocated for each registered file system.
105
 * A structure like this will be allocated for each registered file system.
95
 */
106
 */