Subversion Repositories HelenOS

Rev

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

Rev 2752 Rev 2763
Line 164... Line 164...
164
/**
164
/**
165
 * L_CREATE is used for creating both regular files and directories.
165
 * L_CREATE is used for creating both regular files and directories.
166
 */
166
 */
167
#define L_CREATE    8
167
#define L_CREATE    8
168
/**
168
/**
-
 
169
 * L_LINK is used for linking to an already existing nodes.
-
 
170
 */
-
 
171
#define L_LINK      16
-
 
172
/**
169
 * L_DESTROY is used to remove leaves from the file system namespace. This flag
173
 * L_UNLINK is used to remove leaves from the file system namespace. This flag
170
 * cannot be passed directly by the client, but will be set by VFS during
174
 * cannot be passed directly by the client, but will be set by VFS during
171
 * VFS_UNLINK.
175
 * VFS_UNLINK.
172
 */
176
 */
-
 
177
#define L_UNLINK    32  
-
 
178
/**
-
 
179
 * L_PARENT performs a lookup but returns the triplet of the parent node.
-
 
180
 * This flag may not be combined with any other lookup flag.
-
 
181
 */
173
#define L_DESTROY   16
182
#define L_PARENT    64  
174
 
183
 
175
typedef struct {
184
typedef struct {
176
    vfs_triplet_t triplet;
185
    vfs_triplet_t triplet;
177
    size_t size;
186
    size_t size;
178
    unsigned lnkcnt;
187
    unsigned lnkcnt;
Line 248... Line 257...
248
extern int vfs_grab_phone(int);
257
extern int vfs_grab_phone(int);
249
extern void vfs_release_phone(int);
258
extern void vfs_release_phone(int);
250
 
259
 
251
extern int fs_name_to_handle(char *, bool);
260
extern int fs_name_to_handle(char *, bool);
252
 
261
 
253
extern int vfs_lookup_internal(char *, int, vfs_lookup_res_t *, vfs_pair_t *);
262
extern int vfs_lookup_internal(char *, int, vfs_lookup_res_t *, vfs_pair_t *,
-
 
263
    ...);
254
 
264
 
255
extern bool vfs_nodes_init(void);
265
extern bool vfs_nodes_init(void);
256
extern vfs_node_t *vfs_node_get(vfs_lookup_res_t *);
266
extern vfs_node_t *vfs_node_get(vfs_lookup_res_t *);
257
extern void vfs_node_put(vfs_node_t *);
267
extern void vfs_node_put(vfs_node_t *);
258
 
268
 
Line 277... Line 287...
277
extern void vfs_write(ipc_callid_t, ipc_call_t *);
287
extern void vfs_write(ipc_callid_t, ipc_call_t *);
278
extern void vfs_seek(ipc_callid_t, ipc_call_t *);
288
extern void vfs_seek(ipc_callid_t, ipc_call_t *);
279
extern void vfs_truncate(ipc_callid_t, ipc_call_t *);
289
extern void vfs_truncate(ipc_callid_t, ipc_call_t *);
280
extern void vfs_mkdir(ipc_callid_t, ipc_call_t *);
290
extern void vfs_mkdir(ipc_callid_t, ipc_call_t *);
281
extern void vfs_unlink(ipc_callid_t, ipc_call_t *);
291
extern void vfs_unlink(ipc_callid_t, ipc_call_t *);
-
 
292
extern void vfs_rename(ipc_callid_t, ipc_call_t *);
282
 
293
 
283
#endif
294
#endif
284
 
295
 
285
/**
296
/**
286
 * @}
297
 * @}