idmap_config.h revision c5c4113dfcabb1eed3d4bdf7609de5170027a794
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw/*
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * CDDL HEADER START
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * The contents of this file are subject to the terms of the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Common Development and Distribution License (the "License").
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * You may not use this file except in compliance with the License.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * or http://www.opensolaris.org/os/licensing.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * See the License for the specific language governing permissions
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * and limitations under the License.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * When distributing Covered Code, include this CDDL HEADER in each
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * If applicable, add the following below this CDDL HEADER, with the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * fields enclosed by brackets "[]" replaced with your own identifying
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * information: Portions Copyright [yyyy] [name of copyright owner]
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * CDDL HEADER END
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw/*
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Use is subject to license terms.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#ifndef _IDMAP_CONFIG_H
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#define _IDMAP_CONFIG_H
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#pragma ident "%Z%%M% %I% %E% SMI"
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#include "idmap.h"
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#include <libscf.h>
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#include <synch.h>
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#ifdef __cplusplus
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwextern "C" {
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#endif
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#define MAX_POLICY_SIZE 1023
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwtypedef struct idmap_scf_handles {
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw scf_handle_t *main;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw scf_instance_t *instance;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw scf_service_t *service;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw scf_propertygroup_t *config_pg;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw scf_propertygroup_t *general_pg;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw} idmap_scf_handles_t;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwtypedef struct idmap_pg_config {
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw uint64_t list_size_limit;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw char *mapping_domain; /* mapping dopmain */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw char *machine_sid; /* machine sid */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw char *global_catalog; /* global catalog host */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw char *domain_controller; /* domain controller host */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw /* for mapping domain */
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw} idmap_pg_config_t;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwtypedef struct idmap_cfg {
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw idmap_pg_config_t pgcfg;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw idmap_scf_handles_t handles;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw} idmap_cfg_t;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwextern idmap_cfg_t *idmap_cfg_init();
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwextern int idmap_cfg_fini(idmap_cfg_t *);
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwextern int idmap_cfg_load(idmap_cfg_t *);
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwextern char *idmap_cfg_error();
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#ifdef __cplusplus
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw}
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#endif
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw#endif /* _IDMAP_CONFIG_H */