#ifndef _JOVE_SYSCALL_H #define _JOVE_SYSCALL_H 1 #include enum { SYSCALL_NONE = 0, SYSCALL_INVOKE, SYSCALL_SEND, SYSCALL_RECV, SYSCALL_DEBUG_PUTC }; /* Generic payload of SYSCALL_INVOKE: * [ n bytes ][ uint8_t ][ payload ] * target entry funcid * */ /**@ENUM objdir invokes*/ enum { /*[target path][u8 funcid][u8 ret]*/ INVOKE_OBJDIR_NMEMB = 0, /*[target path][u8 funcid][u8 memb][u16 ret]*/ INVOKE_OBJDIR_GETMEMB, /*[target path][u8 funcid][u8 ret]*/ INVOKE_OBJDIR_LASTFREE }; /**@ENUM untyped invokes*/ enum { /*[target path][u8 funcid][size_t ret]*/ INVOKE_UNTYPED_SIZE = 0, /*[target path][u8 funcid][dest path][dest bytes]*/ INVOKE_UNTYPED_SPLIT, /*[first path][u8 funcid][second path]*/ INVOKE_UNTYPED_MERGE, /*[target path][u8 funcid][size_t ret]*/ INVOKE_UNTYPED_ALIGNMENT }; #endif