std :: kernel::ipc
Struct std::Mailbox
struct Mailbox {
struct Message messages[MAILBOX_CAPACITY];
int head;
int tail;
int count;
int owner_pid;
}Fields
write index
read index
current message count
owning process ID
Methods
Send a message. Returns 1 on success, 0 if full. payload: up to 256 bytes are kept (more is truncated); may be empty.
Receive next message. Copies into out. Returns 1 on success, 0 if empty.
Peek at next message without removing it. Returns 1 if available.
Check if the mailbox has messages. Returns 1 if non-empty.
Return the number of pending messages.
Clear all messages.
Initialize a mailbox for the given process.