std1.0.0-beta-7 SafeC docs

std :: kernel::ipc

Struct std::Mailbox

#include <std/kernel/ipc.h> source

struct Mailbox {
    struct Message messages[MAILBOX_CAPACITY];
    int head;
    int tail;
    int count;
    int owner_pid;
}

Fields

§int headsource

write index

§int tailsource

read index

§int countsource

current message count

§int owner_pidsource

owning process ID

Methods

§int send(int sender_pid, int type, []const unsigned char payload)source · definition

Send a message. Returns 1 on success, 0 if full. payload: up to 256 bytes are kept (more is truncated); may be empty.

§int recv(&Message out)source · definition

Receive next message. Copies into out. Returns 1 on success, 0 if empty.

§int peek(&Message out) constsource · definition

Peek at next message without removing it. Returns 1 if available.

§int has_msg() constsource · definition

Check if the mailbox has messages. Returns 1 if non-empty.

§int length() constsource · definition

Return the number of pending messages.

§void clear()source · definition

Clear all messages.

§static struct Mailbox new(int owner_pid)source · definition

Initialize a mailbox for the given process.