#ifndef _DIT_ACCESS_UTILS_H
#define _DIT_ACCESS_UTILS_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef ERROR
#define ERROR -1
#endif
#define N2LKEY "rf_key"
#define N2LIPKEY "rf_ipkey"
#define N2LSEARCHKEY "rf_searchkey"
#define N2LSEARCHIPKEY "rf_searchipkey"
#define N2LDOMAIN "rf_domain"
#define N2LCOMMENT "rf_comment"
#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