diff options
Diffstat (limited to 'api/syscall.h')
| -rw-r--r-- | api/syscall.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/api/syscall.h b/api/syscall.h new file mode 100644 index 0000000..cf8b1c1 --- /dev/null +++ b/api/syscall.h @@ -0,0 +1,48 @@ +#ifndef _JOVE_API_SYSCALL_H +#define _JOVE_API_SYSCALL_H 1 + +#include <stddef.h> +#include <stdint.h> + +#include "obj.h" + +struct syscall_header +{ + uint16_t callid; + uint16_t pathlen; + uint16_t path[]; +}; + +#define SYSCALL_VTT_WRITE 0 +struct syscall_generic_write +{ + size_t len; + char data[]; +}; + +#define SYSCALL_UNTYPED_SIZE 0 +#define SYSCALL_UNTYPED_ALIGN 1 + +#define SYSCALL_UNTYPED_RETYPE 2 +struct syscall_untyped_retype +{ + uint16_t newtype; +}; + +#define SYSCALL_UNTYPED_SPLIT 3 +#define SYSCALL_UNTYPED_MERGE 4 +struct syscall_untyped_split +{ + size_t bytes; + uint16_t dest_pathlen; + objpath_part_t dest_path[]; +}; +struct syscall_generic_objpath +{ + uint16_t second_pathlen; + objpath_part_t second_path[]; +}; + +#define SYSCALL_OBJDIR_OBJTYPE 0 + +#endif |
