DOOR_INFO(3C)           Standard C Library Functions           DOOR_INFO(3C)
NAME
       door_info - return information associated with a door descriptor
SYNOPSIS
       cc -mt [ 
flag... ] 
file... [ 
library... ]
       #include <door.h>       
int door_info(
int d, 
struct door_info *info);
DESCRIPTION
       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                           The door descriptor refers to a service procedure
                           in this process.       
DOOR_UNREF                           The door has requested notification when all but
                           the last reference has gone away.       
DOOR_UNREF_MULTI                           Similar to 
DOOR_UNREF, except multiple
                           unreferenced notifications may be delivered for
                           this door.       
DOOR_IS_UNREF                           There is currently only one descriptor referring
                           to the door.       
DOOR_REFUSE_DESC                           The door refuses any attempt to 
door_call(3C) it
                           with argument descriptors.       
DOOR_NO_CANCEL                           Clients who abort a 
door_call(3C) call on this
                           door will not cause the 
cancellation(7) of the
                           server thread handling the request.       
DOOR_REVOKED                           The door descriptor refers to a door that has
                           been revoked.       
DOOR_PRIVATE                           The door has a separate pool of server threads
                           associated with it.
       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.
RETURN VALUES
       Upon successful completion, 
0 is returned. Otherwise, 
-1 is returned
       and 
errno is set to indicate the error.
ERRORS
       The 
door_info() function will fail if:       
EFAULT                 The address of argument 
info is an invalid address.       
EBADF                 d is not a door descriptor.
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_bind(3C), 
door_call(3C), 
door_create(3C),       
door_server_create(3C), 
attributes(7), 
cancellation(7)                               March 22, 2005                  DOOR_INFO(3C)