diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-08 12:01:03 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-08 12:01:03 -0600 |
commit | a7a64e15987ddbb7feae6cf2ff1aaaeb71dbed82 (patch) | |
tree | cd96f2fe551984802824c75bacfe8ed1a8f58af1 /lib9p/include | |
parent | 9c7f19c46d8fb58b6bcfe0d1d026c05657ffba96 (diff) |
wip
Diffstat (limited to 'lib9p/include')
-rw-r--r-- | lib9p/include/lib9p/srv.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib9p/include/lib9p/srv.h b/lib9p/include/lib9p/srv.h index 11c1fac..d79e7db 100644 --- a/lib9p/include/lib9p/srv.h +++ b/lib9p/include/lib9p/srv.h @@ -38,16 +38,19 @@ struct lib9p_srv_file; struct lib9p_srv_io; struct lib9p_srv_file_vtable { - /* all */ + /* all - resource management */ + struct lib9p_srv_file *(*clone )(struct lib9p_srv_ctx *, struct lib9p_srv_file *); + void (*free )(struct lib9p_srv_ctx *, struct lib9p_srv_file *); + + /* all - syscalls */ struct lib9p_srv_io *(*io )(struct lib9p_srv_ctx *, struct lib9p_srv_file *, lib9p_o_t flags); struct lib9p_stat (*stat )(struct lib9p_srv_ctx *, struct lib9p_srv_file *); void (*wstat )(struct lib9p_srv_ctx *, struct lib9p_srv_file *, struct lib9p_stat new); void (*remove )(struct lib9p_srv_ctx *, struct lib9p_srv_file *); - void (*free )(struct lib9p_srv_ctx *, struct lib9p_srv_file *); /* optional */ - /* dir */ + /* directories */ struct lib9p_srv_file *(*dopen )(struct lib9p_srv_ctx *, struct lib9p_srv_file *, char *childname); struct lib9p_srv_file *(*dcreate)(struct lib9p_srv_ctx *, struct lib9p_srv_file *, @@ -77,7 +80,6 @@ struct lib9p_srv_file { /* Managed by srv.c */ struct lib9p_srv_file *_parent_dir; - struct lib9p_srv_file *_refcount; /* This is where your implementation data goes. */ char data[0]; |