DOOR_RETURN(3C) Standard C Library Functions DOOR_RETURN(3C)
NAME
door_return - return from a door invocation
SYNOPSIS
cc -mt [
flag... ]
file... [
library... ]
#include <door.h>
int door_return(
char *data_ptr,
size_t data_size,
door_desc_t *desc_ptr,
uint_t num_desc);
DESCRIPTION
The
door_return() function returns from a door invocation. It returns
control to the thread that issued the associated
door_call() and
blocks waiting for the next door invocation. See
door_call(3C).
Results, if any, from the door invocation are passed back to the
client in the buffers pointed to by
data_ptr and
desc_ptr. If there
is not a client associated with the
door_return(), the calling thread
discards the results, releases any passed descriptors with the
DOOR_RELEASE attribute, and blocks waiting for the next door
invocation.
RETURN VALUES
Upon successful completion,
door_return() does not return to the
calling process. Otherwise,
door_return() returns
-1 to the calling
process and sets
errno to indicate the error.
ERRORS
The
door_return() function fails and returns to the calling process
if:
E2BIG Arguments were too big for client.
EFAULT The address of
data_ptr or
desc_ptr is invalid.
EINVAL Invalid
door_return() arguments were passed or a thread is
bound to a door that no longer exists.
EMFILE The client has too many open descriptors.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Architecture | all |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
SEE ALSO
door_call(3C),
attributes(7) March 22, 2005 DOOR_RETURN(3C)