5 #ifndef _KRB5_PROFILE_H
6 #define _KRB5_PROFILE_H
12 #if defined(__MACH__) && defined(__APPLE__)
13 # include <TargetConditionals.h>
14 # if TARGET_RT_MAC_CFM
15 # error "Use KfM 4.0 SDK headers for CFM compilation."
21 #define KRB5_CALLCONV_C
24 typedef struct _profile_t *profile_t;
27 * Used by the profile iterator in prof_get.c
29 #define PROFILE_ITER_LIST_SECTION 0x0001
30 #define PROFILE_ITER_SECTIONS_ONLY 0x0002
31 #define PROFILE_ITER_RELATIONS_ONLY 0x0004
35 #endif /* __cplusplus */
37 typedef char* profile_filespec_t; /* path as C string */
38 typedef char* profile_filespec_list_t; /* list of : separated paths, C string */
39 typedef const char * const_profile_filespec_t; /* path as C string */
40 typedef const char * const_profile_filespec_list_t; /* list of : separated paths, C string */
42 long KRB5_CALLCONV profile_init
43 (const_profile_filespec_t *files, profile_t *ret_profile);
45 long KRB5_CALLCONV profile_init_path
46 (const_profile_filespec_list_t filelist, profile_t *ret_profile);
48 long KRB5_CALLCONV profile_flush
50 long KRB5_CALLCONV profile_flush_to_file
51 (profile_t profile, const_profile_filespec_t outfile);
52 long KRB5_CALLCONV profile_flush_to_buffer
53 (profile_t profile, char **bufp);
54 void KRB5_CALLCONV profile_free_buffer
55 (profile_t profile, char *buf);
57 long KRB5_CALLCONV profile_is_writable
58 (profile_t profile, int *writable);
59 long KRB5_CALLCONV profile_is_modified
60 (profile_t profile, int *modified);
62 void KRB5_CALLCONV profile_abandon
65 void KRB5_CALLCONV profile_release
68 long KRB5_CALLCONV profile_get_values
69 (profile_t profile, const char *const *names, char ***ret_values);
71 void KRB5_CALLCONV profile_free_list
74 long KRB5_CALLCONV profile_get_string
75 (profile_t profile, const char *name, const char *subname,
76 const char *subsubname, const char *def_val,
78 long KRB5_CALLCONV profile_get_integer
79 (profile_t profile, const char *name, const char *subname,
80 const char *subsubname, int def_val,
83 long KRB5_CALLCONV profile_get_boolean
84 (profile_t profile, const char *name, const char *subname,
85 const char *subsubname, int def_val,
88 long KRB5_CALLCONV profile_get_relation_names
89 (profile_t profile, const char **names, char ***ret_names);
91 long KRB5_CALLCONV profile_get_subsection_names
92 (profile_t profile, const char **names, char ***ret_names);
94 long KRB5_CALLCONV profile_iterator_create
95 (profile_t profile, const char *const *names,
96 int flags, void **ret_iter);
98 void KRB5_CALLCONV profile_iterator_free
101 long KRB5_CALLCONV profile_iterator
102 (void **iter_p, char **ret_name, char **ret_value);
104 void KRB5_CALLCONV profile_release_string (char *str);
106 long KRB5_CALLCONV profile_update_relation
107 (profile_t profile, const char **names,
108 const char *old_value, const char *new_value);
110 long KRB5_CALLCONV profile_clear_relation
111 (profile_t profile, const char **names);
113 long KRB5_CALLCONV profile_rename_section
114 (profile_t profile, const char **names,
115 const char *new_name);
117 long KRB5_CALLCONV profile_add_relation
118 (profile_t profile, const char **names,
119 const char *new_value);
123 #endif /* __cplusplus */
125 #endif /* _KRB5_PROFILE_H */
127 * util/profile/prof_err.h:
128 * This file is automatically generated; please do not edit it.
133 #define PROF_VERSION (-1429577728L)
134 #define PROF_MAGIC_NODE (-1429577727L)
135 #define PROF_NO_SECTION (-1429577726L)
136 #define PROF_NO_RELATION (-1429577725L)
137 #define PROF_ADD_NOT_SECTION (-1429577724L)
138 #define PROF_SECTION_WITH_VALUE (-1429577723L)
139 #define PROF_BAD_LINK_LIST (-1429577722L)
140 #define PROF_BAD_GROUP_LVL (-1429577721L)
141 #define PROF_BAD_PARENT_PTR (-1429577720L)
142 #define PROF_MAGIC_ITERATOR (-1429577719L)
143 #define PROF_SET_SECTION_VALUE (-1429577718L)
144 #define PROF_EINVAL (-1429577717L)
145 #define PROF_READ_ONLY (-1429577716L)
146 #define PROF_SECTION_NOTOP (-1429577715L)
147 #define PROF_SECTION_SYNTAX (-1429577714L)
148 #define PROF_RELATION_SYNTAX (-1429577713L)
149 #define PROF_EXTRA_CBRACE (-1429577712L)
150 #define PROF_MISSING_OBRACE (-1429577711L)
151 #define PROF_MAGIC_PROFILE (-1429577710L)
152 #define PROF_MAGIC_SECTION (-1429577709L)
153 #define PROF_TOPSECTION_ITER_NOSUPP (-1429577708L)
154 #define PROF_INVALID_SECTION (-1429577707L)
155 #define PROF_END_OF_SECTIONS (-1429577706L)
156 #define PROF_BAD_NAMESET (-1429577705L)
157 #define PROF_NO_PROFILE (-1429577704L)
158 #define PROF_MAGIC_FILE (-1429577703L)
159 #define PROF_FAIL_OPEN (-1429577702L)
160 #define PROF_EXISTS (-1429577701L)
161 #define PROF_BAD_BOOLEAN (-1429577700L)
162 #define PROF_BAD_INTEGER (-1429577699L)
163 #define PROF_MAGIC_FILE_DATA (-1429577698L)
164 #define ERROR_TABLE_BASE_prof (-1429577728L)
166 extern const struct error_table et_prof_error_table;
169 /* for compatibility with older versions... */
170 extern void initialize_prof_error_table (void) /*@modifies internalState@*/;
172 #define initialize_prof_error_table()
176 #define init_prof_err_tbl initialize_prof_error_table
177 #define prof_err_base ERROR_TABLE_BASE_prof