Changeset f1380b7 in mainline for contrib/arch/uspace/srv/vfs/vfs.adl
- Timestamp:
- 2018-03-02T20:21:57Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 34e1206
- Parents:
- a35b458
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:51:04)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:21:57)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
contrib/arch/uspace/srv/vfs/vfs.adl
ra35b458 rf1380b7 2 2 /* Register a filesystem driver */ 3 3 sysarg_t register(in_copy string name); 4 4 5 5 /* Mount filesystem */ 6 6 sysarg_t mount(in sysarg_t device, in sysarg_t flags, in sysarg_t instance, in_copy string point, in_copy string opts, in_copy string fs); 7 7 8 8 /* Open file */ 9 9 sysarg_t open(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, in_copy string path, out sysarg_t fd); 10 10 11 11 /* Open file using node */ 12 12 sysarg_t open_node(in sysarg_t fs_handle, in sysarg_t dev_handle, in sysarg_t index, in sysarg_t oflag, out sysarg_t fd); 13 13 14 14 /* Read data from file */ 15 15 sysarg_t read(in sysarg_t fd, out_copy stream data); 16 16 17 17 /* Write data to file */ 18 18 sysarg_t write(in sysarg_t fd, in_copy stream data); 19 19 20 20 /* Seek in file */ 21 21 sysarg_t seek(in sysarg_t fd, in sysarg_t offset, in sysarg_t whence); 22 22 23 23 /* Truncate file */ 24 24 sysarg_t truncate(in sysarg_t fd, in sysarg_t size); 25 25 26 26 /* Get file metadata */ 27 27 sysarg_t fstat(in sysarg_t fd, out_copy stream stat); 28 28 29 29 /* Get directory entry metadata */ 30 30 sysarg_t stat(in_copy string path, out_copy stream stat); 31 31 32 32 /* Create directory */ 33 33 sysarg_t mkdir(in sysarg_t mode, in_copy string path); 34 34 35 35 /* Delete directory entry */ 36 36 sysarg_t unlink(in sysarg_t lflag, in_copy string path); 37 37 38 38 /* Rename directory entry */ 39 39 sysarg_t rename(in_copy string old, in_copy string new); 40 40 41 41 /* Flush file buffers */ 42 42 sysarg_t sync(in sysarg_t fd); 43 43 44 44 /* In-protocol status value */ 45 45 sysarg_t ipc_m_ping(void); 46 46 47 47 /* Close connection */ 48 48 sysarg_t ipc_m_phone_hungup(void); … … 54 54 /* Notify filesystem that it was mounted */ 55 55 sysarg_t mounted(in sysarg_t dev_handle, in_copy string opts); 56 56 57 57 /* Mount filesystem */ 58 58 sysarg_t mount(in sysarg_t device, in sysarg_t flags, in sysarg_t instance, in_copy string point, in_copy string opts, ...); 59 59 60 60 /* Open file by node */ 61 61 sysarg_t open_node(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...); 62 62 63 63 /* Lookup file */ 64 64 sysarg_t lookup(in sysarg_t lflag, in sysarg_t oflag, in sysarg_t mode, ...); 65 65 66 66 /* Read data from file */ 67 67 sysarg_t read(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, out_copy stream data); 68 68 69 69 /* Write data to file */ 70 70 sysarg_t write(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t offset, in_copy stream data); 71 71 72 72 /* Truncate file */ 73 73 sysarg_t truncate(in sysarg_t dev_handle, in sysarg_t fs_index, in sysarg_t size); 74 74 75 75 /* Get directory entry metadata */ 76 76 sysarg_t stat(in sysarg_t dev_handle, in sysarg_t fs_index, out_copy stream stat); 77 77 78 78 /* Flush file buffers */ 79 79 sysarg_t sync(in sysarg_t dev_handle, in sysarg_t fs_index); 80 80 81 81 /* Notify on file close */ 82 82 sysarg_t close(in sysarg_t dev_handle, in sysarg_t fs_index); … … 103 103 inst fat fat; 104 104 inst devfs devfs; 105 105 106 106 bind io_dispatcher:tmpfs to tmpfs:tmpfs; 107 107 bind io_dispatcher:fat to fat:fat; 108 108 bind io_dispatcher:devfs to devfs:devfs; 109 109 110 110 bind tmpfs:vfs to io_dispatcher:vfs; 111 111 bind fat:vfs to io_dispatcher:vfs; 112 112 bind devfs:vfs to io_dispatcher:vfs; 113 113 114 114 bind tmpfs:tmpfs_nested to tmpfs:tmpfs; 115 115 bind tmpfs:fat_nested to fat:fat; 116 116 bind tmpfs:devfs_nested to devfs:devfs; 117 117 118 118 bind fat:tmpfs_nested to tmpfs:tmpfs; 119 119 bind fat:fat_nested to fat:fat; 120 120 bind fat:devfs_nested to devfs:devfs; 121 121 122 122 delegate vfs to io_dispatcher:vfs; 123 123 124 124 [/uspace/lib/libc/subsume%io_dispatcher] 125 125 [/uspace/lib/libc/subsume%tmpfs] 126 126 [/uspace/lib/libc/subsume%fat] 127 127 [/uspace/lib/libc/subsume%devfs] 128 128 129 129 subsume io_dispatcher:ns to ns; 130 130 subsume tmpfs:ns to ns; 131 131 subsume fat:ns to ns; 132 132 subsume devfs:ns to ns; 133 133 134 134 subsume tmpfs:rd to rd; 135 135 subsume fat:rd to rd; 136 136 137 137 subsume devfs:devmap_client to devmap_client; 138 138 subsume devfs:device to device;
Note:
See TracChangeset
for help on using the changeset viewer.