Home | History | Annotate | Download | only in head
      1 /*
      2  * CDDL HEADER START
      3  *
      4  * The contents of this file are subject to the terms of the
      5  * Common Development and Distribution License, Version 1.0 only
      6  * (the "License").  You may not use this file except in compliance
      7  * with the License.
      8  *
      9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10  * or http://www.opensolaris.org/os/licensing.
     11  * See the License for the specific language governing permissions
     12  * and limitations under the License.
     13  *
     14  * When distributing Covered Code, include this CDDL HEADER in each
     15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16  * If applicable, add the following below this CDDL HEADER, with the
     17  * fields enclosed by brackets "[]" replaced with your own identifying
     18  * information: Portions Copyright [yyyy] [name of copyright owner]
     19  *
     20  * CDDL HEADER END
     21  */
     22 /*
     23  * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
     24  * Use is subject to license terms.
     25  */
     26 
     27 #ifndef	_DOOR_H
     28 #define	_DOOR_H
     29 
     30 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     31 
     32 #include <sys/types.h>
     33 #include <sys/door.h>
     34 #include <ucred.h>
     35 
     36 #ifdef __cplusplus
     37 extern "C" {
     38 #endif
     39 
     40 #ifndef _ASM
     41 
     42 /*
     43  * Doors API
     44  */
     45 int	door_create(void (*)(void *, char *, size_t, door_desc_t *, uint_t),
     46     void *, uint_t);
     47 int	door_revoke(int);
     48 int	door_info(int, door_info_t *);
     49 int	door_call(int, door_arg_t *);
     50 int	door_return(char *, size_t, door_desc_t *, uint_t);
     51 int	door_cred(door_cred_t *);
     52 int	door_ucred(ucred_t **);
     53 int	door_bind(int);
     54 int	door_unbind(void);
     55 int	door_getparam(int, int, size_t *);
     56 int	door_setparam(int, int, size_t);
     57 
     58 typedef void door_server_func_t(door_info_t *);
     59 door_server_func_t *door_server_create(door_server_func_t *);
     60 
     61 #endif /* _ASM */
     62 
     63 #ifdef __cplusplus
     64 }
     65 #endif
     66 
     67 #endif	/* _DOOR_H */
     68