Mercurial > hg > Members > menikon > CbC_xv6
changeset 180:9f28b86fecc5
add nonefiles
author | menikon <e165723@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 21 Jan 2020 15:52:07 +0900 |
parents | 2842d9e65751 |
children | 648247c08bbd |
files | src/impl/file_impl_none.cbc src/impl/none.h |
diffstat | 2 files changed, 49 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/impl/file_impl_none.cbc Tue Jan 21 15:52:07 2020 +0900 @@ -0,0 +1,46 @@ +#include "../context.h" +#interface "file.h" + +// ---- +// typedef struct none<Impl, Isa> impl file { +// +// } none; +// ---- + +file* createnone(struct Context* cbc_context) { + struct file* file = new file(); + struct none* none = new none(); + file->file = (union Data*)none; + file->remoe = 0; + file->off = 0; + file->st = NULL; + file->addr = NULL; + file->pipe = 0; + file->inode = 0; + file->n = 0; + file->fd = 0; + file->stat = C_statnone; + file->read = C_readnone; + file->write = C_writenone; + file->close = C_closenone; + return file; +} +__code statnone(struct none* file, struct stat* st, __code next(...)) { + + goto next(...); +} + +__code readnone(struct none* file, char* addr, __code next(...)) { + + goto next(...); +} + +__code writenone(struct none* file, char* addr, int n, __code next(...)) { + + goto next(...); +} + +__code closenone(struct none* file,int fd, __code next(...)) { + + goto next(...); +}