L4Re/departure

libext2fs/lib/libsupport/profile.h

618:7123a7307a82
8 months ago Paul Boddie Introduced some debugging output control.
     1 /*     2  * profile.h     3  *     4  * Copyright (C) 2005 by Theodore Ts'o.     5  *     6  * %Begin-Header%     7  * This file may be redistributed under the terms of the GNU Public     8  * License.     9  * %End-Header%    10  *    11  * Copyright (C) 1985-2005 by the Massachusetts Institute of Technology.    12  *    13  * All rights reserved.    14  *    15  * Export of this software from the United States of America may require    16  * a specific license from the United States Government.  It is the    17  * responsibility of any person or organization contemplating export to    18  * obtain such a license before exporting.    19  *    20  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and    21  * distribute this software and its documentation for any purpose and    22  * without fee is hereby granted, provided that the above copyright    23  * notice appear in all copies and that both that copyright notice and    24  * this permission notice appear in supporting documentation, and that    25  * the name of M.I.T. not be used in advertising or publicity pertaining    26  * to distribution of the software without specific, written prior    27  * permission.  Furthermore if you modify this software you must label    28  * your software as modified software and not distribute it in such a    29  * fashion that it might be confused with the original MIT software.    30  * M.I.T. makes no representations about the suitability of this software    31  * for any purpose.  It is provided "as is" without express or implied    32  * warranty.    33  *    34  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR    35  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED    36  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.    37  */    38     39 #ifndef _PROFILE_H    40 #define _PROFILE_H    41     42 typedef struct _profile_t *profile_t;    43     44 typedef void (*profile_syntax_err_cb_t)(const char *file, long err,    45 					int line_num);    46     47 /*    48  * Used by the profile iterator in prof_get.c    49  */    50 #define PROFILE_ITER_LIST_SECTION	0x0001    51 #define PROFILE_ITER_SECTIONS_ONLY	0x0002    52 #define PROFILE_ITER_RELATIONS_ONLY	0x0004    53     54 #ifdef __cplusplus    55 extern "C" {    56 #endif /* __cplusplus */    57     58 long profile_init    59 	(const char * const *files, profile_t *ret_profile);    60     61 void profile_release    62 	(profile_t profile);    63     64 long profile_set_default    65 	(profile_t profile, const char *def_string);    66     67 long profile_get_string    68 	(profile_t profile, const char *name, const char *subname,    69 			const char *subsubname, const char *def_val,    70 			char **ret_string);    71 long profile_get_integer    72 	(profile_t profile, const char *name, const char *subname,    73 			const char *subsubname, int def_val,    74 			int *ret_default);    75     76 long profile_get_uint    77 	(profile_t profile, const char *name, const char *subname,    78 		const char *subsubname, unsigned int def_val,    79 		unsigned int *ret_int);    80     81 long profile_get_double    82 	(profile_t profile, const char *name, const char *subname,    83 		const char *subsubname, double def_val,    84 		double *ret_float);    85     86 long profile_get_boolean    87 	(profile_t profile, const char *name, const char *subname,    88 			const char *subsubname, int def_val,    89 			int *ret_default);    90     91 long profile_iterator_create    92 	(profile_t profile, const char *const *names,    93 		   int flags, void **ret_iter);    94     95 void profile_iterator_free    96 	(void **iter_p);    97     98 long profile_iterator    99 	(void	**iter_p, char **ret_name, char **ret_value);   100    101 profile_syntax_err_cb_t profile_set_syntax_err_cb(profile_syntax_err_cb_t hook);   102    103 #ifdef __cplusplus   104 }   105 #endif /* __cplusplus */   106    107 #endif /* _KRB5_H */