Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Door Library Functionsdoor_info(3DOOR)


NAME

 door_info - return information associated with a door descriptor

SYNOPSIS

 
cc [ flag ... ] file ... -ldoor [ 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_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(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Architectureall
AvailabilitySUNWcsu
StabilityEvolving
MT-LevelSafe

SEE ALSO

 

door_bind(3DOOR), door_create(3DOOR), door_server_create(3DOOR)


SunOS 5.9Go To TopLast Changed 8 Oct 1998

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.