obj: add read() and write() object callbacks
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <socks/locks.h>
|
||||
#include <socks/status.h>
|
||||
#include <socks/flags.h>
|
||||
#include <socks/vm.h>
|
||||
#include <stddef.h>
|
||||
|
||||
@@ -30,6 +31,8 @@ enum object_type_flags {
|
||||
struct object_ops {
|
||||
kern_status_t(*open)(struct object *obj);
|
||||
kern_status_t(*close)(struct object *obj);
|
||||
kern_status_t(*read)(struct object *obj, void *p, size_t *r, socks_flags_t flags);
|
||||
kern_status_t(*write)(struct object *obj, const void *p, size_t *w, socks_flags_t flags);
|
||||
kern_status_t(*destroy)(struct object *obj);
|
||||
kern_status_t(*query_name)(struct object *obj, char out[OBJECT_NAME_MAX]);
|
||||
kern_status_t(*parse)(struct object *obj, const char *path, struct object **out);
|
||||
@@ -85,6 +88,8 @@ static inline kern_status_t object_get(const char *path, struct object **out)
|
||||
{
|
||||
return object_namespace_get_object(global_namespace(), path, out);
|
||||
}
|
||||
extern kern_status_t object_read(struct object *obj, void *p, size_t max, size_t *nr_read, socks_flags_t flags);
|
||||
extern kern_status_t object_write(struct object *obj, const void *p, size_t max, size_t *nr_written, socks_flags_t flags);
|
||||
extern kern_status_t object_get_child_named(struct object *obj, const char *name, struct object **out);
|
||||
extern kern_status_t object_get_child_at(struct object *obj, size_t at, struct object **out);
|
||||
extern kern_status_t object_query_name(struct object *obj, char name[OBJECT_NAME_MAX]);
|
||||
|
||||
Reference in New Issue
Block a user