L4Re/departure

libext2fs/lib/libsupport/profile.h

617:2733e5770ee9
9 months ago Paul Boddie Made the run command wait for completion, introducing the spawn command to run programs in the background. Introduced conveniences for waiting for the last job to be initiated and for piping from the last job, also subscribing to signals from pipe-supplying jobs so that they may be transparently removed from the job list upon completion. Augmented the job listing with the "+" notation familiar from Unix. Prevented new jobs from being started when no job slots are available.
     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 */