5488N/A/*
5861N/A * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
5488N/A */
5488N/A
5488N/A/*
5488N/A * Solaris Kerberos
5488N/A * This is a private header file, therefore the interfaces that this file
5488N/A * declares are subject to change without prior notice.
5488N/A */
5488N/A
5488N/A#ifndef _PROF_SOLARIS_H
5488N/A#define _PROF_SOLARIS_H
5488N/A
5488N/A#include <profile.h>
5488N/A#include <sys/types.h>
5488N/A
5861N/A#define K5_PROFILE_VAL_SUCCESS 0
5861N/A#define K5_PROFILE_VAL_DEF_REALM_CASE 1
5861N/A#define K5_PROFILE_VAL_REALM_CASE 2
5861N/A#define K5_PROFILE_VAL_NO_DEF_IN_REALM 3
5861N/A#define K5_PROFILE_VAL_NO_DEF_REALM 4
5861N/A#define K5_PROFILE_VAL_NULL_REALM 5
5861N/A#define K5_PROFILE_VAL_NO_DOM_REALM_MAP 6
5861N/A#define K5_PROFILE_VAL_KDC_NO_REALM 7
5861N/A#define K5_PROFILE_VAL_ADMIN_NO_REALM 8
5861N/A#define K5_PROFILE_VAL_DOM_REALM_CASE 9
5861N/A#define K5_PROFILE_VAL_NO_REALM 10
5488N/A
5488N/Atypedef struct _profile_options {
5861N/A char *name;
5861N/A int *value;
5861N/A int found;
5488N/A} profile_options_boolean;
5488N/A
5488N/Atypedef struct _profile_times {
5861N/A char *name;
5861N/A char **value;
5861N/A int found;
5488N/A} profile_option_strings;
5488N/A
5488N/Aerrcode_t
5488N/Aprofile_get_options_boolean(profile_t, char **, profile_options_boolean *);
5488N/A
5488N/Aerrcode_t
5488N/Aprofile_get_options_string(profile_t, char **, profile_option_strings *);
5488N/A
5488N/Along k5_profile_init(char *filename, profile_t *profile);
5488N/Along k5_profile_release(profile_t profile);
5488N/Avoid k5_profile_abandon(profile_t profile);
5488N/Along k5_profile_add_domain_mapping(profile_t profile, char *domain,
5488N/A char *realm);
5488N/Along k5_profile_remove_domain_mapping(profile_t profile, char *realm);
5488N/Along k5_profile_get_realm_entry(profile_t profile, char *realm, char *name,
5488N/A char ***ret_value);
5488N/Along k5_profile_add_realm_entry(profile_t profile, char *realm, char *name,
5488N/A char **values);
5488N/Along k5_profile_get_libdefaults_entry(profile_t profile, char *name,
5488N/A char **ret_value);
5488N/Along k5_profile_add_libdefaults_entry(profile_t profile, char *name,
5488N/A char *value);
5488N/Along k5_profile_get_default_realm(profile_t profile, char **realm);
5488N/Along k5_profile_get_realms(profile_t profile, char ***realms);
5488N/Along k5_profile_add_realm(profile_t profile, char *realm, char *master,
5488N/A char **kdcs, boolean_t set_change, boolean_t default_realm);
5488N/Along k5_profile_remove_xrealm_mapping(profile_t profile, char *realm);
5488N/Along k5_profile_remove_realm(profile_t profile, char *realm);
5488N/Along k5_profile_add_xrealm_mapping(profile_t profile, char *source,
5488N/A char *target, char *inter);
5488N/Along k5_profile_validate(profile_t profile, char *realm, int *val_err,
5488N/A char **val, boolean_t master_required, boolean_t kdc_required);
5488N/Along k5_profile_validate_get_error_msg(profile_t profile, int err, char *val,
5488N/A char **err_msg);
5488N/Along k5_profile_set_libdefaults(profile_t profile, char *realm);
5488N/A
5488N/A#endif /* _PROF_SOLARIS_H */