Copyright (c) 2005, by Sun Microsystems, Inc. All rights reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
cc [ flag... ] file... [ library... ] #include <door.h>
Historically, functions in this library provided programmatic access to doors, including the ability to create and call them. This functionality now resides in libc(3LIB).
Doors are a fast light-weight RPC mechanism for secure control transfer between processes on the same machine. Conceptually, a thread in one process can issue a call using a door descriptor that causes code to be executed in another process and then returns using the traditional synchronous RPC model. Doors can also be used to pass data and file descriptors between processes.
This library is maintained to provide backward compatibility for both runtime and compilation environments. The shared object is implemented as a filter on libc.so.1. New application development need not specify -ldoor.
The shared object libdoor.so.1 provides the public interfaces defined below. See Intro(3) for additional information on shared object interfaces.
door_bind door_call |
door_create door_cred |
door_info door_return |
door_revoke door_server_create |
door_ucred door_unbind |
shared object
64-bit shared object
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
MT-Level Safe |
Intro(3), libc(3LIB), attributes(5)
Stevens, W. Richard. UNIX Network Programming, Volume 2: Interprocess Communications, 2/e. Tucson, Ariz.: Prentice Hall, 1999.