4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
22 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
26 * Private Header for Identity Mapping
37 #include <rpcsvc/idmap_prot.h>
38 #include "idmap_priv.h"
46 struct idmap_udt_handle
{
47 idmap_update_batch batch
;
50 idmap_stat commit_stat
;
51 idmap_namerule error_rule
;
52 idmap_namerule conflict_rule
;
55 #define _IDMAP_RESET_UDT_HANDLE(uh) \
56 xdr_free(xdr_idmap_update_batch, (caddr_t)&uh->batch);\
58 uh->error_index = -1;\
59 xdr_free(xdr_idmap_namerule, (caddr_t)&uh->error_rule);\
60 xdr_free(xdr_idmap_namerule, (caddr_t)&uh->conflict_rule);
62 typedef struct idmap_get_res
{
74 struct idmap_get_handle
{
75 idmap_mapping_batch batch
;
76 idmap_get_res_t
*retlist
;
80 #define _IDMAP_RESET_GET_HANDLE(gh) \
81 xdr_free(xdr_idmap_mapping_batch, (caddr_t)&gh->batch);\
91 idmap_retcode retcode
;
97 typedef struct stat_table
{
98 idmap_retcode retcode
;
103 typedef idmap_retcode _idmap_stat
;
105 extern idmap_stat
_idmap_clnt_call(const rpcproc_t
,
106 const xdrproc_t
, const caddr_t
,
107 const xdrproc_t
, caddr_t out
,
108 const struct timeval
);
110 extern idmap_retcode
_udt_extend_batch(idmap_udt_handle_t
*);
111 extern idmap_retcode
_get_ids_extend_batch(idmap_get_handle_t
*);
112 extern idmap_stat
_iter_get_next_list(int, idmap_iter_t
*, void *,
113 uchar_t
**, size_t, xdrproc_t
, xdrproc_t
);
115 extern idmap_logger_t logger
;
121 #endif /* _IDMAP_IMPL_H */