Files
jsix_import/definitions/objects/endpoint.def
Justin C. Miller 19f9496889 [kernel] Add a timeout to endpoint recieve syscalls
This also required adding support for multiple wait conditions on a
thread, so wait_type is an enum_bitfield now.

I really need a real clock.
2022-01-15 17:48:19 -08:00

33 lines
871 B
Modula-2

# Channels are objects that enable synchronous IPC of
# arbitrary-sized messages.
object endpoint : kobject {
uid c5882f24a4c03b7e
method create [constructor]
# Send a message on a channel. Blocks until the message
# is received.
method send {
param tag uint64
param data buffer
}
# Receieve a message on a channel. Blocks until a message
# is available.
method receive {
param tag uint64 [out]
param data buffer [out]
param timeout uint64 # Receive timeout in nanoseconds
}
# Send a message on a channel and then await a new message.
# Equivalent to calling send and then recieve, as a single
# operation.
method sendrecv {
param tag uint64 [inout]
param data buffer [inout]
param timeout uint64 # Receive timeout in nanoseconds
}
}