door_return(3DOOR) Door Library Functions door_return(3DOOR)NAMEdoor_return - return from a door invocation
SYNOPSIS
cc -mt [ flag ... ] file ... -ldoor [ 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(3DOOR). 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 call‐
ing 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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │all │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWcsu │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Evolving │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOdoor_call(3DOOR),libdoor(3LIB), attributes(5)SunOS 5.10 5 Feb 2001 door_return(3DOOR)