00001
00009
00010
00011
00012
00013 import <l4/sys/types.h>
00014 import <l4/l4vfs/types.h>
00015
00016 import <l4/l4vfs/common_io.idl>
00017
00021 library l4vfs
00022 {
00026 [uuid(50)]
00027 interface basic_io : common_io
00028 {
00038 object_handle_t open([in] object_id_t object_id, [in] int flags);
00039
00040
00056 object_handle_t creat([in] object_id_t parent,
00057 [in, string] char * name,
00058 [in] int flags,
00059 [in] l4vfs_mode_t mode);
00060
00068 int unlink([in] object_id_t file);
00069
00077 int rmdir([in] object_id_t dir);
00078
00089 l4vfs_off_t lseek([in] object_handle_t handle,
00090 [in] l4vfs_off_t offset,
00091 [in] int whence);
00092
00100 int fsync([in] object_handle_t handle);
00101
00112 int getdents([in] object_handle_t handle,
00113 [out, size_is(count),
00114 transmit_as(unsigned char),
00115 ref, prealloc_client, prealloc_server]
00116 l4vfs_dirent_t ** dirp,
00117 [in, out] unsigned int * count);
00118
00128 int stat([in] object_id_t object_id,
00129 [out] l4vfs_stat_t * buf);
00130
00140 int access([in] object_id_t file,
00141 [in] int mode);
00142 };
00143 };