Files
jsix_import/definitions/objects/mailbox.def
Justin C. Miller 359ee035d8 [kernel] Only accept invalid handles for optional syscall args
The syscall helpers.h get_handle functions should be returing
j6_err_invalid_arg if the handle they're given is j6_handle_invalid,
unless explicitly set to optional.
2023-02-06 01:13:55 -08:00

37 lines
1.1 KiB
Modula-2

# Mailboxes are objects that enable synchronous IPC via short message-passing
# of tagged handles.
object mailbox : object {
uid 99934ad04ece1e07
capabilities [
send
receive
close
]
method create [constructor]
method close [destructor cap:close]
# Send a message to the reciever, and block until a
# response is sent. Note that getting this response
# does not require the receive capability.
method call [cap:send] {
param tag uint64 [inout]
param subtag uint64 [inout]
param give_handle ref object [optional inout handle]
}
# Respond to a message sent using call, and wait for another
# message to arrive. Note that this does not require the send
# capability. A reply tag of 0 skips the reply and goes directly
# to waiting for a new message.
method respond [cap:receive] {
param tag uint64 [inout]
param subtag uint64 [inout]
param give_handle ref object [optional inout handle]
param reply_tag uint64 [inout]
param flags uint64
}
}