Inter-process communication

syscalls_portCreate

GETFROMSTACK(ustack, u32 *, port, 0);

Creates new communication queue and returns its identifier in port variable.

syscalls_portDestroy

GETFROMSTACK(ustack, u32, port, 0);

Destroys communication queue identified by port variable.

syscalls_portRegister

GETFROMSTACK(ustack, unsigned int, port, 0);
GETFROMSTACK(ustack, char *, name, 1);
GETFROMSTACK(ustack, oid_t *, oid, 2);

Registers port in the namespace at name and returns object identifier oid identifying this association.

syscalls_msgSend

GETFROMSTACK(ustack, u32, port, 0);
GETFROMSTACK(ustack, msg_t *, msg, 1);

Sends message msg to queue identified by port. Execution of calling thread is suspended until receiving thread responds to this message.

syscalls_msgRecv

GETFROMSTACK(ustack, u32, port, 0);
GETFROMSTACK(ustack, msg_t *, msg, 1);
GETFROMSTACK(ustack, msg_rid_t *, rid, 2);

Receives message msg from queue identified by port. The reception context is stored in variable rid.

syscalls_msgRespond

GETFROMSTACK(ustack, u32, port, 0);
GETFROMSTACK(ustack, msg_t *, msg, 1);
GETFROMSTACK(ustack, msg_rid_t, rid, 2);

Responds to message msg using reception context rid.

syscalls_lookup

GETFROMSTACK(ustack, char *, name, 0);
GETFROMSTACK(ustack, oid_t *, file, 1);
GETFROMSTACK(ustack, oid_t *, dev, 2);

Lookups for object identifier (port and resource id) associated with name. Object identifier representing file is returned in file variable. If file is associated with other object the other object ID is returned in dev.

syscalls_signalHandle

syscalls_signalPost

syscalls_signalMask

syscalls_signalSuspend

See also

  1. System calls
  2. Table of Contents