Home | History | Annotate | Download | only in include
      1 /*
      2  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
      3  * Use is subject to license terms.
      4  */
      5 
      6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
      7 
      8 /*
      9  * profile.h
     10  */
     11 
     12 #ifndef _KRB5_PROFILE_H
     13 #define _KRB5_PROFILE_H
     14 
     15 #if defined(_WIN32)
     16 #include <win-mac.h>
     17 #endif
     18 
     19 #if defined(__MACH__) && defined(__APPLE__)
     20 #    include <TargetConditionals.h>
     21 #    if TARGET_RT_MAC_CFM
     22 #        error "Use KfM 4.0 SDK headers for CFM compilation."
     23 #    endif
     24 #endif
     25 
     26 #ifndef KRB5_CALLCONV
     27 #define KRB5_CALLCONV
     28 #define KRB5_CALLCONV_C
     29 #endif
     30 
     31 typedef struct _profile_t *profile_t;
     32 
     33 /*
     34  * Used by the profile iterator in prof_get.c
     35  */
     36 #define PROFILE_ITER_LIST_SECTION	0x0001
     37 #define PROFILE_ITER_SECTIONS_ONLY	0x0002
     38 #define PROFILE_ITER_RELATIONS_ONLY	0x0004
     39 
     40 #ifdef __cplusplus
     41 extern "C" {
     42 #endif /* __cplusplus */
     43 
     44 typedef char* profile_filespec_t;	/* path as C string */
     45 typedef char* profile_filespec_list_t;	/* list of : separated paths, C string */
     46 typedef const char * const_profile_filespec_t;	/* path as C string */
     47 typedef const char * const_profile_filespec_list_t;	/* list of : separated paths, C string */
     48 
     49 long KRB5_CALLCONV profile_init
     50 	(const_profile_filespec_t *files, profile_t *ret_profile);
     51 
     52 long KRB5_CALLCONV profile_init_path
     53 	(const_profile_filespec_list_t filelist, profile_t *ret_profile);
     54 
     55 long KRB5_CALLCONV profile_flush
     56 	(profile_t profile);
     57 long KRB5_CALLCONV profile_flush_to_file
     58 	(profile_t profile, const_profile_filespec_t outfile);
     59 long KRB5_CALLCONV profile_flush_to_buffer
     60 	(profile_t profile, char **bufp);
     61 void KRB5_CALLCONV profile_free_buffer
     62 	(profile_t profile, char *buf);
     63 
     64 long KRB5_CALLCONV profile_is_writable
     65 	(profile_t profile, int *writable);
     66 long KRB5_CALLCONV profile_is_modified
     67 	(profile_t profile, int *modified);
     68 
     69 void KRB5_CALLCONV profile_abandon
     70 	(profile_t profile);
     71 
     72 void KRB5_CALLCONV profile_release
     73 	(profile_t profile);
     74 
     75 long KRB5_CALLCONV profile_get_values
     76 	(profile_t profile, const char *const *names, char ***ret_values);
     77 
     78 void KRB5_CALLCONV profile_free_list
     79 	(char **list);
     80 
     81 long KRB5_CALLCONV profile_get_string
     82 	(profile_t profile, const char *name, const char *subname,
     83 			const char *subsubname, const char *def_val,
     84 			char **ret_string);
     85 long KRB5_CALLCONV profile_get_integer
     86 	(profile_t profile, const char *name, const char *subname,
     87 			const char *subsubname, int def_val,
     88 			int *ret_default);
     89 
     90 long KRB5_CALLCONV profile_get_boolean
     91 	(profile_t profile, const char *name, const char *subname,
     92 			const char *subsubname, int def_val,
     93 			int *ret_default);
     94 
     95 long KRB5_CALLCONV profile_get_relation_names
     96 	(profile_t profile, const char **names, char ***ret_names);
     97 
     98 long KRB5_CALLCONV profile_get_subsection_names
     99 	(profile_t profile, const char **names, char ***ret_names);
    100 
    101 long KRB5_CALLCONV profile_iterator_create
    102 	(profile_t profile, const char *const *names,
    103 		   int flags, void **ret_iter);
    104 
    105 void KRB5_CALLCONV profile_iterator_free
    106 	(void **iter_p);
    107 
    108 long KRB5_CALLCONV profile_iterator
    109 	(void	**iter_p, char **ret_name, char **ret_value);
    110 
    111 void KRB5_CALLCONV profile_release_string (char *str);
    112 
    113 long KRB5_CALLCONV profile_update_relation
    114 	(profile_t profile, const char **names,
    115 		   const char *old_value, const char *new_value);
    116 
    117 long KRB5_CALLCONV profile_clear_relation
    118 	(profile_t profile, const char **names);
    119 
    120 long KRB5_CALLCONV profile_rename_section
    121 	(profile_t profile, const char **names,
    122 		   const char *new_name);
    123 
    124 long KRB5_CALLCONV profile_add_relation
    125 	(profile_t profile, const char **names,
    126 		   const char *new_value);
    127 
    128 #ifdef __cplusplus
    129 }
    130 #endif /* __cplusplus */
    131 
    132 #endif /* _KRB5_PROFILE_H */
    133 
    134 /*
    135  * ettmp22072.h:
    136  * This file is automatically generated; please do not edit it.
    137  */
    138 
    139 #include <com_err.h>
    140 
    141 #define PROF_VERSION                             (-1429577728L)
    142 #define PROF_MAGIC_NODE                          (-1429577727L)
    143 #define PROF_NO_SECTION                          (-1429577726L)
    144 #define PROF_NO_RELATION                         (-1429577725L)
    145 #define PROF_ADD_NOT_SECTION                     (-1429577724L)
    146 #define PROF_SECTION_WITH_VALUE                  (-1429577723L)
    147 #define PROF_BAD_LINK_LIST                       (-1429577722L)
    148 #define PROF_BAD_GROUP_LVL                       (-1429577721L)
    149 #define PROF_BAD_PARENT_PTR                      (-1429577720L)
    150 #define PROF_MAGIC_ITERATOR                      (-1429577719L)
    151 #define PROF_SET_SECTION_VALUE                   (-1429577718L)
    152 #define PROF_EINVAL                              (-1429577717L)
    153 #define PROF_READ_ONLY                           (-1429577716L)
    154 #define PROF_SECTION_NOTOP                       (-1429577715L)
    155 #define PROF_SECTION_SYNTAX                      (-1429577714L)
    156 #define PROF_RELATION_SYNTAX                     (-1429577713L)
    157 #define PROF_EXTRA_CBRACE                        (-1429577712L)
    158 #define PROF_MISSING_OBRACE                      (-1429577711L)
    159 #define PROF_MAGIC_PROFILE                       (-1429577710L)
    160 #define PROF_MAGIC_SECTION                       (-1429577709L)
    161 #define PROF_TOPSECTION_ITER_NOSUPP              (-1429577708L)
    162 #define PROF_INVALID_SECTION                     (-1429577707L)
    163 #define PROF_END_OF_SECTIONS                     (-1429577706L)
    164 #define PROF_BAD_NAMESET                         (-1429577705L)
    165 #define PROF_NO_PROFILE                          (-1429577704L)
    166 #define PROF_MAGIC_FILE                          (-1429577703L)
    167 #define PROF_FAIL_OPEN                           (-1429577702L)
    168 #define PROF_EXISTS                              (-1429577701L)
    169 #define PROF_BAD_BOOLEAN                         (-1429577700L)
    170 #define PROF_BAD_INTEGER                         (-1429577699L)
    171 #define PROF_MAGIC_FILE_DATA                     (-1429577698L)
    172 
    173 #define ERROR_TABLE_BASE_prof (-1429577728L)
    174 
    175 /* for compatibility with older versions... */
    176 #define prof_err_base ERROR_TABLE_BASE_prof
    177