#include #include #include #include #include int _syscall_invoke_objdir_getmemb(KernelObjectDirectory *dir, uint8_t member, obj_type_t *result) { uint8_t *syscallData = _syscall_message_ptr; int syscall_at = 0; obj_type_t *syscall_result; SYSCALL_PAYLOAD_PUTOBJ(syscallData, syscall_at, dir); SYSCALL_PAYLOAD_PUTL(syscallData, syscall_at, INVOKE_OBJDIR_GETMEMB, uint8_t); SYSCALL_PAYLOAD_PUTL(syscallData, syscall_at, member, uint8_t); SYSCALL_PAYLOAD_SAVEPTR(syscallData, syscall_at, obj_type_t, syscall_result); int status = _syscall_invoke(); *result = *syscall_result; return status; } int _syscall_invoke_objdir_nmemb(KernelObjectDirectory *dir, uint8_t *result) { uint8_t *syscallData = _syscall_message_ptr; int syscall_at = 0; uint8_t *syscall_result; SYSCALL_PAYLOAD_PUTOBJ(syscallData, syscall_at, dir); SYSCALL_PAYLOAD_PUTL(syscallData, syscall_at, INVOKE_OBJDIR_NMEMB, uint8_t); SYSCALL_PAYLOAD_SAVEPTR(syscallData, syscall_at, uint8_t, syscall_result); int status = _syscall_invoke(); *result = *syscall_result; return status; }