Subversion Repositories HelenOS

Rev

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

Rev 2520 Rev 2521
Line 32... Line 32...
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
typedef enum {
36
typedef enum {
37
    VFS_REGISTER = 1,
37
    VFS_REGISTER = 0,
38
    VFS_MOUNT,
38
    VFS_MOUNT,
39
    VFS_UNMOUNT,
39
    VFS_UNMOUNT,
40
    VFS_OPEN
40
    VFS_OPEN,
-
 
41
    VFS_LAST,       /* keep this the last member of the enum */
41
} vfs_request_t;
42
} vfs_request_t;
42
 
43
 
-
 
44
 
-
 
45
/**
-
 
46
 * 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
-
 
48
 * should be used.
-
 
49
 */
-
 
50
typedef enum {
-
 
51
    VFS_OP_NOTSUP = 0,
-
 
52
    VFS_OP_DEFAULT,
-
 
53
    VFS_OP_DEFINED
-
 
54
} vfs_op_t;
-
 
55
 
-
 
56
#define FS_NAME_MAXLEN  20
-
 
57
 
-
 
58
/**
-
 
59
 * A structure like this is passed to VFS by each individual FS upon its
-
 
60
 * registration. It assosiates a human-readable identifier with each
-
 
61
 * registered FS. More importantly, through this structure, the FS announces
-
 
62
 * what operations it supports.
-
 
63
 */
-
 
64
typedef struct {
-
 
65
    char fs_name[FS_NAME_MAXLEN];   /**< Unique identifier of the fs. */
-
 
66
    vfs_op_t ops[VFS_LAST];     /**< Operations. */
-
 
67
} vfs_info_t;
-
 
68
 
43
#endif
69
#endif
44
 
70
 
45
/**
71
/**
46
 * @}
72
 * @}
47
 */
73
 */