Changes in uspace/lib/c/generic/vfs/vfs.c [27b76ca:8fd04ba9] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/vfs/vfs.c
r27b76ca r8fd04ba9 69 69 * 70 70 */ 71 async_exch_t *vfs_exchange_begin(void)71 static async_exch_t *vfs_exchange_begin(void) 72 72 { 73 73 fibril_mutex_lock(&vfs_mutex); … … 87 87 * 88 88 */ 89 void vfs_exchange_end(async_exch_t *exch)89 static void vfs_exchange_end(async_exch_t *exch) 90 90 { 91 91 async_exchange_end(exch); … … 329 329 } 330 330 331 int open_node(fdi_node_t *node, int oflag) 332 { 333 async_exch_t *exch = vfs_exchange_begin(); 334 335 ipc_call_t answer; 336 aid_t req = async_send_4(exch, VFS_IN_OPEN_NODE, node->fs_handle, 337 node->devmap_handle, node->index, oflag, &answer); 338 339 vfs_exchange_end(exch); 340 341 sysarg_t rc; 342 async_wait_for(req, &rc); 343 344 if (rc != EOK) 345 return (int) rc; 346 347 return (int) IPC_GET_ARG1(answer); 348 } 349 331 350 int close(int fildes) 332 351 { … … 800 819 } 801 820 821 int fd_node(int fildes, fdi_node_t *node) 822 { 823 struct stat stat; 824 int rc = fstat(fildes, &stat); 825 826 if (rc == EOK) { 827 node->fs_handle = stat.fs_handle; 828 node->devmap_handle = stat.devmap_handle; 829 node->index = stat.index; 830 } 831 832 return rc; 833 } 834 802 835 int dup2(int oldfd, int newfd) 803 836 { … … 815 848 } 816 849 817 int fd_wait(void)818 {819 async_exch_t *exch = vfs_exchange_begin();820 821 sysarg_t ret;822 sysarg_t rc = async_req_0_1(exch, VFS_IN_WAIT_HANDLE, &ret);823 824 vfs_exchange_end(exch);825 826 if (rc == EOK)827 return (int) ret;828 829 return (int) rc;830 }831 832 850 /** @} 833 851 */
Note:
See TracChangeset
for help on using the changeset viewer.