Changeset 320c884 in mainline for uspace/srv/vfs/vfs_node.c


Ignore:
Timestamp:
2007-11-04T19:47:32Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
798f364
Parents:
89cb140
Message:

A lot of more VFS prototyping.
VFS_OPEN gets reasonably complete, fix a limitation that prevented file
structures from being shared by multiple file descriptors, add functions for
file descriptor management, introduce unlink_futex and two new VFS operations
VFS_UNLINK and VFS_RENAME.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs_node.c

    r89cb140 r320c884  
    3838#include "vfs.h"
    3939
     40/** Increment reference count of a VFS node.
     41 *
     42 * @param node          VFS node that will have its refcnt incremented.
     43 */
     44void vfs_node_addref(vfs_node_t *node)
     45{
     46        /* TODO */
     47}
     48
     49/** Decrement reference count of a VFS node.
     50 *
     51 * This function handles the case when the reference count drops to zero.
     52 *
     53 * @param node          VFS node that will have its refcnt decremented.
     54 */
     55void vfs_node_delref(vfs_node_t *node)
     56{
     57        /* TODO */
     58}
     59
     60/** Find VFS node.
     61 *
     62 * This function will try to lookup the given triplet in the VFS node hash
     63 * table. In case the triplet is not found there, a new VFS node is created.
     64 * In any case, the VFS node will have its reference count incremented. Every
     65 * node returned by this call should be eventually put back by calling
     66 * vfs_node_put() on it.
     67 *
     68 * @param triplet       Triplet encoding the identity of the VFS node.
     69 *
     70 * @return              VFS node corresponding to the given triplet.
     71 */
    4072vfs_node_t *vfs_node_get(vfs_triplet_t *triplet)
    4173{
    42         return NULL;    // TODO: not implemented
     74        /* TODO */
     75        return NULL;
     76}
     77
     78/** Return VFS node when no longer needed by the caller.
     79 *
     80 * This function will remove the reference on the VFS node created by
     81 * vfs_node_get(). This function can only be called as a closing bracket to the
     82 * preceding vfs_node_get() call.
     83 *
     84 * @param node          VFS node being released.
     85 */
     86void vfs_node_put(vfs_node_t *node)
     87{
     88        vfs_node_delref(node);
    4389}
    4490
Note: See TracChangeset for help on using the changeset viewer.