/trunk/uspace/srv/vfs/vfs.c |
---|
93,6 → 93,9 |
case VFS_OPEN: |
vfs_open(callid, &call); |
break; |
case VFS_CLOSE: |
vfs_close(callid, &call); |
break; |
case VFS_READ: |
vfs_read(callid, &call); |
break; |
/trunk/uspace/srv/vfs/vfs_ops.c |
---|
387,6 → 387,17 |
ipc_answer_1(rid, EOK, fd); |
} |
void vfs_close(ipc_callid_t rid, ipc_call_t *request) |
{ |
int fd = IPC_GET_ARG1(*request); |
if (fd >= MAX_OPEN_FILES) { |
ipc_answer_0(rid, EBADF); |
return; |
} |
vfs_fd_free(fd); |
ipc_answer_0(rid, EOK); |
} |
static void vfs_rdwr(ipc_callid_t rid, ipc_call_t *request, bool read) |
{ |
/trunk/uspace/srv/vfs/vfs.h |
---|
269,6 → 269,7 |
extern void vfs_register(ipc_callid_t, ipc_call_t *); |
extern void vfs_mount(ipc_callid_t, ipc_call_t *); |
extern void vfs_open(ipc_callid_t, ipc_call_t *); |
extern void vfs_close(ipc_callid_t, ipc_call_t *); |
extern void vfs_read(ipc_callid_t, ipc_call_t *); |
extern void vfs_write(ipc_callid_t, ipc_call_t *); |
extern void vfs_seek(ipc_callid_t, ipc_call_t *); |