Changeset 1dff985 in mainline for uspace/srv/vfs/vfs.h


Ignore:
Timestamp:
2017-03-03T21:32:38Z (8 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c577a9a
Parents:
5b46ec8 (diff), b8dbe2f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~zarevucky-jiri/helenos/vfs-2.5 up to revision 1926

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs.h

    r5b46ec8 r1dff985  
    9494        vfs_node_type_t type;
    9595        aoff64_t size;
    96         unsigned int lnkcnt;
    9796} vfs_lookup_res_t;
    9897
     
    101100 * which may be associated with it.
    102101 */
    103 typedef struct {
     102typedef struct _vfs_node {
    104103        VFS_TRIPLET;            /**< Identity of the node. */
    105104
     
    110109        unsigned refcnt;
    111110       
    112         /** Number of names this node has in the file system namespace. */
    113         unsigned lnkcnt;
    114 
    115111        ht_link_t nh_link;              /**< Node hash-table link. */
    116112
    117113        vfs_node_type_t type;   /**< Partial info about the node type. */
    118114
    119         aoff64_t size;          /**< Cached size if the node is a file. */
     115        int64_t size;           /**< Cached size if the node is a file. */
    120116
    121117        /**
     
    123119         */
    124120        fibril_rwlock_t contents_rwlock;
     121       
     122        struct _vfs_node *mount;
    125123} vfs_node_t;
    126124
     
    138136        unsigned refcnt;
    139137
     138        int permissions;
     139        bool open_read;
     140        bool open_write;
     141
    140142        /** Append on write. */
    141143        bool append;
     
    176178extern vfs_info_t *fs_handle_to_info(fs_handle_t);
    177179
    178 extern int vfs_lookup_internal(char *, int, vfs_lookup_res_t *,
    179     vfs_pair_t *, ...);
     180extern int vfs_lookup_internal(vfs_node_t *, char *, int, vfs_lookup_res_t *);
     181extern int vfs_link_internal(vfs_node_t *, char *, vfs_triplet_t *);
    180182
    181183extern bool vfs_nodes_init(void);
    182184extern vfs_node_t *vfs_node_get(vfs_lookup_res_t *);
     185extern vfs_node_t *vfs_node_peek(vfs_lookup_res_t *result);
    183186extern void vfs_node_put(vfs_node_t *);
    184187extern void vfs_node_forget(vfs_node_t *);
    185188extern unsigned vfs_nodes_refcount_sum_get(fs_handle_t, service_id_t);
    186189
     190extern int64_t vfs_node_get_size(vfs_node_t *node);
     191extern bool vfs_node_has_children(vfs_node_t *node);
    187192
    188193#define MAX_OPEN_FILES  128
     
    207212extern void vfs_mount_srv(ipc_callid_t, ipc_call_t *);
    208213extern void vfs_unmount_srv(ipc_callid_t, ipc_call_t *);
    209 extern void vfs_open(ipc_callid_t, ipc_call_t *);
    210214extern void vfs_sync(ipc_callid_t, ipc_call_t *);
    211215extern void vfs_dup(ipc_callid_t, ipc_call_t *);
     
    216220extern void vfs_truncate(ipc_callid_t, ipc_call_t *);
    217221extern void vfs_fstat(ipc_callid_t, ipc_call_t *);
    218 extern void vfs_stat(ipc_callid_t, ipc_call_t *);
    219 extern void vfs_mkdir(ipc_callid_t, ipc_call_t *);
    220 extern void vfs_unlink(ipc_callid_t, ipc_call_t *);
    221222extern void vfs_rename(ipc_callid_t, ipc_call_t *);
    222223extern void vfs_wait_handle(ipc_callid_t, ipc_call_t *);
     
    233234extern int vfs_rdwr_internal(int, bool, rdwr_io_chunk_t *);
    234235
     236extern void vfs_walk(ipc_callid_t, ipc_call_t *);
     237extern void vfs_open2(ipc_callid_t, ipc_call_t *);
     238extern void vfs_unlink2(ipc_callid_t, ipc_call_t *);
     239
    235240#endif
    236241
Note: See TracChangeset for help on using the changeset viewer.