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)

tribblix@gmail.com :: GitHub :: Privacy