lreply
| Number | 0x16 |
|---|---|
| Signature | (reply_handle, len) -> 0 or -err |
| Group | messaging |
| Since | 1.0 |
Reply to a long-message caller using the minted reply capability.
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. The caller’s r2-r3 are zeroed.
Pitfalls
The reply capability will be consumed unconditionally.
Arguments
| Register | Name | Description |
|---|---|---|
r0 | reply_handle | Handle identifying the blocked caller |
r1 | len | Reply byte count in the lmsg buffer |
Returns
0 on success.
Errors
| Code | Condition |
|---|---|
ERR_OVERFLOW | Length of message exceeds the lmsg buffer size. |
ERR_BADHANDLE | No capability exists for the given handle. |
ERR_BADTYPE | This capability is not a reply capability. |
ERR_DEAD | Recipient has died or timed out before the reply could be sent. |