lsend

Number0x14
Signature(port, len) -> 0 or -err
Groupmessaging
Since1.0
Blockingtrue

Send a long-message to a recipient process over an endpoint.

The long message buffer is inside the TLS ( on ARMv7: TPIDRURO -> tdata_t -> lmsg_buf) and is LMSG_BUF_SIZE bytes large. You can use functions in channel.h to abstract the lmsg buffer operations.

Arguments

RegisterNameDescription
r0portHandle of the destination port
r1lenByte count in the lmsg buffer, at most `LMSG_BUF_SIZE`

Returns

0 on success.

Errors

CodeCondition
ERR_OVERFLOWLength of message exceeds the lmsg buffer size.
ERR_BADHANDLENo capability exists for the given handle.
ERR_BADTYPEThis capability is not a port.
ERR_DEADRecipient has died before the message could be sent.

See also