DOOR_RETURN(3C) | Standard C Library Functions | DOOR_RETURN(3C) |
door_return - return from a door invocation
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);
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.
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.
The door_return() function fails and returns to the calling process if:
E2BIG
EFAULT
EINVAL
EMFILE
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | all |
Interface Stability | Stable |
MT-Level | Safe |
March 22, 2005 | OmniOS |