/* * CDDL HEADER START * * 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] * * CDDL HEADER END */ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. */ #ifndef _DIT_ACCESS_UTILS_H #define _DIT_ACCESS_UTILS_H #ifdef __cplusplus extern "C" { #endif #ifndef ERROR #define ERROR -1 #endif /* Keywords */ #define N2LKEY "rf_key" #define N2LIPKEY "rf_ipkey" #define N2LSEARCHKEY "rf_searchkey" #define N2LSEARCHIPKEY "rf_searchipkey" #define N2LDOMAIN "rf_domain" #define N2LCOMMENT "rf_comment" /* libldap ignores usec. Hence using 1 sec timeout */ #define SINGLE_ACCESS_TIMEOUT_SEC 1 #define SINGLE_ACCESS_TIMEOUT_USEC 0 extern __yp_domain_context_t ypDomains; extern char *getFullMapName(char *map, char *domain); extern __nis_value_t *stringToValue(char *dptr, int dsize); extern __nis_rule_value_t *processSplitField(__nis_table_mapping_t *sf, __nis_value_t *inVal, int *nv, int *statP); extern __nis_rule_value_t *datumToRuleValue(datum *key, datum *value, __nis_table_mapping_t *t, int *nv, char *domain, bool_t readonly, int *statP); extern __nis_table_mapping_t *mappingFromMap(char *map, char *domain, int *statP); extern bool_t singleReadFromDIT(char *map, char *domain, datum *key, datum *value, int *statP); extern suc_code singleWriteToDIT(char *map, char *domain, datum *key, datum *value, bool_t replace); extern suc_code buildNISRuleValue(__nis_table_mapping_t *t, __nis_rule_value_t *rv, char *domain); extern suc_code addSplitFieldValues(__nis_table_mapping_t *t, __nis_rule_value_t *rv, __nis_rule_value_t *trv, int numVals, char *domain); extern datum *ruleValueToDatum(__nis_table_mapping_t *t, __nis_rule_value_t *rv, int *statP); extern datum *getKeyFromRuleValue(__nis_table_mapping_t *t, __nis_rule_value_t *rv, int *nv, int *statP, bool_t xlate_to_lcase); extern const char *getObjectClass(char *rdn); extern suc_code makeNISObject(char *domain, char *dn); extern suc_code addNISObject(char *domain, char *dn, int *ldap_rc); extern suc_code addParent(char *dn, char **attr); extern bool_t is_fatal_error(int res); extern suc_code alloc_temp_names(char *name, char **temp_entries, char **temp_ttl); extern suc_code collapseRuleValue(__nis_rule_value_t *rv); #ifdef __cplusplus } #endif #endif /* _DIT_ACCESS_UTILS_H */