OrionLibC
Barry Importing existing Orion LibC 03048a9 (2 years, 3 months ago)#include <stdint.h> #include <sys/ipc.h> #include <sys/syscall.h> /* Send a message without blocking */ Message * nb_send_msg(pid_t to, uint16_t type, MessageContent *msg) { int ret; asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_NB_SEND_MSG), "c" (3), "S" (&to)); return (Message *) ret; } /* Send a message and block until delivery */ Message * send_msg(pid_t to, uint16_t type, MessageContent *msg) { int ret; asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_SEND_MSG), "c" (3), "S" (&to)); return (Message *) ret; } /* Receive a message if available */ pid_t nb_recv_msg(Message *buf, pid_t from) { int ret; asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_NB_RECV_MSG), "c" (2), "S" (&buf)); return (pid_t) ret; } /* Block until a message is received */ pid_t recv_msg(Message *buf, pid_t from) { int ret; asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_RECV_MSG), "c" (2), "S" (&buf)); return (pid_t) ret; }