Changes in uspace/srv/vfs/vfs.h [5bcd5b7:c1f7a315] in mainline


Ignore:
File:
1 edited

Legend:

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

    r5bcd5b7 rc1f7a315  
    9494        vfs_node_type_t type;
    9595        aoff64_t size;
     96        unsigned int lnkcnt;
    9697} vfs_lookup_res_t;
    9798
     
    100101 * which may be associated with it.
    101102 */
    102 typedef struct _vfs_node {
     103typedef struct {
    103104        VFS_TRIPLET;            /**< Identity of the node. */
    104105
     
    109110        unsigned refcnt;
    110111       
     112        /** Number of names this node has in the file system namespace. */
     113        unsigned lnkcnt;
     114
    111115        ht_link_t nh_link;              /**< Node hash-table link. */
    112116
    113117        vfs_node_type_t type;   /**< Partial info about the node type. */
    114118
    115         int64_t size;           /**< Cached size if the node is a file. */
     119        aoff64_t size;          /**< Cached size if the node is a file. */
    116120
    117121        /**
     
    119123         */
    120124        fibril_rwlock_t contents_rwlock;
    121        
    122         struct _vfs_node *mount;
    123125} vfs_node_t;
    124126
     
    136138        unsigned refcnt;
    137139
    138         int permissions;
    139         bool open_read;
    140         bool open_write;
    141 
    142140        /** Append on write. */
    143141        bool append;
     
    178176extern vfs_info_t *fs_handle_to_info(fs_handle_t);
    179177
    180 extern int vfs_lookup_internal(vfs_node_t *, char *, int, vfs_lookup_res_t *);
    181 extern int vfs_link_internal(vfs_node_t *, char *, vfs_triplet_t *);
     178extern int vfs_lookup_internal(char *, int, vfs_lookup_res_t *,
     179    vfs_pair_t *, ...);
    182180
    183181extern bool vfs_nodes_init(void);
    184182extern vfs_node_t *vfs_node_get(vfs_lookup_res_t *);
    185 extern vfs_node_t *vfs_node_peek(vfs_lookup_res_t *result);
    186183extern void vfs_node_put(vfs_node_t *);
    187184extern void vfs_node_forget(vfs_node_t *);
    188185extern unsigned vfs_nodes_refcount_sum_get(fs_handle_t, service_id_t);
    189186
    190 extern int64_t vfs_node_get_size(vfs_node_t *node);
    191 extern bool vfs_node_has_children(vfs_node_t *node);
    192187
    193188#define MAX_OPEN_FILES  128
     
    210205
    211206extern void vfs_register(ipc_callid_t, ipc_call_t *);
    212 extern void vfs_mount(ipc_callid_t, ipc_call_t *);
    213 extern void vfs_unmount(ipc_callid_t, ipc_call_t *);
     207extern void vfs_mount_srv(ipc_callid_t, ipc_call_t *);
     208extern void vfs_unmount_srv(ipc_callid_t, ipc_call_t *);
     209extern void vfs_open(ipc_callid_t, ipc_call_t *);
    214210extern void vfs_sync(ipc_callid_t, ipc_call_t *);
    215211extern void vfs_dup(ipc_callid_t, ipc_call_t *);
     
    220216extern void vfs_truncate(ipc_callid_t, ipc_call_t *);
    221217extern void vfs_fstat(ipc_callid_t, ipc_call_t *);
     218extern void vfs_stat(ipc_callid_t, ipc_call_t *);
     219extern void vfs_mkdir(ipc_callid_t, ipc_call_t *);
     220extern void vfs_unlink(ipc_callid_t, ipc_call_t *);
    222221extern void vfs_rename(ipc_callid_t, ipc_call_t *);
    223222extern void vfs_wait_handle(ipc_callid_t, ipc_call_t *);
    224223extern void vfs_get_mtab(ipc_callid_t, ipc_call_t *);
    225 
    226 extern void vfs_walk(ipc_callid_t, ipc_call_t *);
    227 extern void vfs_open2(ipc_callid_t, ipc_call_t *);
    228 extern void vfs_unlink2(ipc_callid_t, ipc_call_t *);
     224extern void vfs_statfs(ipc_callid_t, ipc_call_t *);
     225
     226extern void vfs_page_in(ipc_callid_t, ipc_call_t *);
     227
     228typedef struct {
     229        void *buffer;
     230        size_t size;
     231} rdwr_io_chunk_t;
     232
     233extern int vfs_rdwr_internal(int, bool, rdwr_io_chunk_t *);
    229234
    230235#endif
Note: See TracChangeset for help on using the changeset viewer.