Subversion Repositories HelenOS

Rev

Rev 3343 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3343 Rev 3665
Line 188... Line 188...
188
 * L_PARENT performs a lookup but returns the triplet of the parent node.
188
 * L_PARENT performs a lookup but returns the triplet of the parent node.
189
 * This flag may not be combined with any other lookup flag.
189
 * This flag may not be combined with any other lookup flag.
190
 */
190
 */
191
#define L_PARENT    64  
191
#define L_PARENT    64  
192
 
192
 
-
 
193
typedef enum vfs_node_type {
-
 
194
    VFS_NODE_UNKNOWN,
-
 
195
    VFS_NODE_FILE,
-
 
196
    VFS_NODE_DIRECTORY,
-
 
197
} vfs_node_type_t;
-
 
198
 
193
typedef struct {
199
typedef struct {
194
    vfs_triplet_t triplet;
200
    vfs_triplet_t triplet;
-
 
201
    vfs_node_type_t type;
195
    size_t size;
202
    size_t size;
196
    unsigned lnkcnt;
203
    unsigned lnkcnt;
197
} vfs_lookup_res_t;
204
} vfs_lookup_res_t;
198
 
205
 
199
/**
206
/**
Line 211... Line 218...
211
   
218
   
212
    /** Number of names this node has in the file system namespace. */
219
    /** Number of names this node has in the file system namespace. */
213
    unsigned lnkcnt;
220
    unsigned lnkcnt;
214
 
221
 
215
    link_t nh_link;     /**< Node hash-table link. */
222
    link_t nh_link;     /**< Node hash-table link. */
-
 
223
 
-
 
224
    vfs_node_type_t type;   /**< Partial info about the node type. */
-
 
225
 
216
    size_t size;        /**< Cached size if the node is a file. */
226
    size_t size;        /**< Cached size if the node is a file. */
217
 
227
 
218
    /**
228
    /**
219
     * Holding this rwlock prevents modifications of the node's contents.
229
     * Holding this rwlock prevents modifications of the node's contents.
220
     */
230
     */