components/krb5/Solaris/prof_solaris.h
changeset 5490 9bf0bc57423a
equal deleted inserted replaced
5489:a5031bb8b66d 5490:9bf0bc57423a
       
     1 /*
       
     2  * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
       
     3  */
       
     4 
       
     5 /*
       
     6  * Solaris Kerberos
       
     7  * This is a private header file, therefore the interfaces that this file
       
     8  * declares are subject to change without prior notice.
       
     9  */
       
    10 
       
    11 #ifndef	_PROF_SOLARIS_H
       
    12 #define	_PROF_SOLARIS_H
       
    13 
       
    14 #include <profile.h>
       
    15 #include <sys/types.h>
       
    16 
       
    17 #define K5_PROFILE_VAL_SUCCESS                  0
       
    18 #define K5_PROFILE_VAL_DEF_REALM_CASE           1
       
    19 #define K5_PROFILE_VAL_REALM_CASE               2
       
    20 #define K5_PROFILE_VAL_NO_DEF_IN_REALM          3
       
    21 #define K5_PROFILE_VAL_NO_DEF_REALM             4
       
    22 #define K5_PROFILE_VAL_NULL_REALM               5
       
    23 #define K5_PROFILE_VAL_NO_DOM_REALM_MAP         6
       
    24 #define K5_PROFILE_VAL_KDC_NO_REALM             7
       
    25 #define K5_PROFILE_VAL_ADMIN_NO_REALM           8
       
    26 #define K5_PROFILE_VAL_DOM_REALM_CASE           9
       
    27 #define K5_PROFILE_VAL_NO_REALM                 10
       
    28 
       
    29 typedef struct _profile_options {
       
    30        char *name;
       
    31        int  *value;
       
    32        int  found;
       
    33 } profile_options_boolean;
       
    34 
       
    35 typedef struct _profile_times {
       
    36        char *name;
       
    37        char **value;
       
    38        int  found;
       
    39 } profile_option_strings;
       
    40 
       
    41 errcode_t
       
    42 profile_get_options_boolean(profile_t, char **, profile_options_boolean *);
       
    43 
       
    44 errcode_t
       
    45 profile_get_options_string(profile_t, char **, profile_option_strings *);
       
    46 
       
    47 long k5_profile_init(char *filename, profile_t *profile);
       
    48 long k5_profile_release(profile_t profile);
       
    49 void k5_profile_abandon(profile_t profile);
       
    50 long k5_profile_add_domain_mapping(profile_t profile, char *domain,
       
    51     char *realm);
       
    52 long k5_profile_remove_domain_mapping(profile_t profile, char *realm);
       
    53 long k5_profile_get_realm_entry(profile_t profile, char *realm, char *name,
       
    54     char ***ret_value);
       
    55 long k5_profile_add_realm_entry(profile_t profile, char *realm, char *name,
       
    56     char **values);
       
    57 long k5_profile_get_libdefaults_entry(profile_t profile, char *name,
       
    58     char **ret_value);
       
    59 long k5_profile_add_libdefaults_entry(profile_t profile, char *name,
       
    60     char *value);
       
    61 long k5_profile_get_default_realm(profile_t profile, char **realm);
       
    62 long k5_profile_get_realms(profile_t profile, char ***realms);
       
    63 long k5_profile_add_realm(profile_t profile, char *realm, char *master,
       
    64     char **kdcs, boolean_t set_change, boolean_t default_realm);
       
    65 long k5_profile_remove_xrealm_mapping(profile_t profile, char *realm);
       
    66 long k5_profile_remove_realm(profile_t profile, char *realm);
       
    67 long k5_profile_add_xrealm_mapping(profile_t profile, char *source,
       
    68     char *target, char *inter);
       
    69 long k5_profile_validate(profile_t profile, char *realm, int *val_err,
       
    70     char **val, boolean_t master_required, boolean_t kdc_required);
       
    71 long k5_profile_validate_get_error_msg(profile_t profile, int err, char *val,
       
    72     char **err_msg);
       
    73 long k5_profile_set_libdefaults(profile_t profile, char *realm);
       
    74 
       
    75 #endif /* _PROF_SOLARIS_H */