DOOR_INFO(3C) | Standard C Library Functions | DOOR_INFO(3C) |
door_info - return information associated with a door descriptor
cc -mt [ flag... ] file... [ library... ] #include <door.h> int door_info(int d, struct door_info *info);
The door_info() function returns information associated with a door descriptor. It obtains information about the door descriptor d and places the information that is relevant to the door in the structure pointed to by the info argument.
The door_info structure pointed to by the info argument contains the following members:
pid_t di_target; /* door server pid */ door_ptr_t di_proc; /* server function */ door_ptr_t di_data; /* data cookie for invocation */ door_attr_t di_attributes; /* door attributes */ door_id_t di_uniquifier; /* unique id among all doors */
The di_target member is the process ID of the door server, or −1 if the door server process has exited.
The values for di_attributes may be composed of the following:
DOOR_LOCAL
DOOR_UNREF
DOOR_UNREF_MULTI
DOOR_IS_UNREF
DOOR_REFUSE_DESC
DOOR_NO_CANCEL
DOOR_REVOKED
DOOR_PRIVATE
The di_proc and di_data members are returned as door_ptr_t objects rather than void * pointers to allow clients and servers to interoperate in environments where the pointer sizes may vary in size (for example, 32-bit clients and 64-bit servers). Each door has a system-wide unique number associated with it that is set when the door is created by door_create(). This number is returned in di_uniquifier.
Upon successful completion, 0 is returned. Otherwise, −1 is returned and errno is set to indicate the error.
The door_info() function will fail if:
EFAULT
EBADF
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | all |
Interface Stability | Stable |
MT-Level | Safe |
door_bind(3C), door_call(3C), door_create(3C), door_server_create(3C), attributes(7), cancellation(7)
March 22, 2005 | OmniOS |