aboutsummaryrefslogtreecommitdiff
path: root/include/grecs/preproc.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/grecs/preproc.h')
-rw-r--r--include/grecs/preproc.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/grecs/preproc.h b/include/grecs/preproc.h
new file mode 100644
index 0000000..798e879
--- /dev/null
+++ b/include/grecs/preproc.h
@@ -0,0 +1,46 @@
1/* grecs - Gray's Extensible Configuration System -*- c -*-
2 Copyright (C) 2007-2016 Sergey Poznyakoff
3
4 Grecs is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the
6 Free Software Foundation; either version 3 of the License, or (at your
7 option) any later version.
8
9 Grecs is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with Grecs. If not, see <http://www.gnu.org/licenses/>. */
16
17#ifndef _GRECS_PREPROC_H
18#define _GRECS_PREPROC_H
19
20#include <sys/types.h>
21
22extern const char *grecs_preprocessor;
23
24size_t grecs_preproc_fill_buffer(char *buf, size_t size);
25void grecs_preproc_add_include_dir(char *dir);
26int grecs_preproc_init(const char *name);
27void grecs_preproc_done(void);
28int grecs_preproc_run(const char *config_file, const char *extpp);
29
30#define GRECS_STD_INCLUDE 0x01
31#define GRECS_USR_INCLUDE 0x02
32
33size_t grecs_include_path_count(int flag);
34int grecs_foreach_include_dir(int flag, int (*fun)(int, const char *, void *),
35 void *data);
36
37char *grecs_find_include_file(const char *name, int allow_cwd);
38
39FILE *grecs_preproc_extrn_start(const char *file, pid_t *ppid);
40void grecs_preproc_extrn_shutdown(pid_t pid);
41
42void grecs_include_path_clear(void);
43void grecs_include_path_setup(const char *dir, ...);
44void grecs_include_path_setup_v(char **dirs);
45
46#endif

Return to:

Send suggestions and report system problems to the System administrator.