1 /* 2 * Copyright (C) 2010 Daniel-Constantin Mierla (asipto.com) 3 * 4 * Permission to use, copy, modify, and distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 /*! 17 * \file 18 * \brief Kamailio core :: Config preprocessor directives 19 * \ingroup core 20 * Module: \ref core 21 */ 22 23 #ifndef _PPCFG_H_ 24 #define _PPCFG_H_ 25 26 #include "str.h" 27 28 typedef struct ksr_ppdefine { 29 str name; 30 str value; 31 int dtype; 32 } ksr_ppdefine_t; 33 34 str* pp_get_define_name(int idx); 35 ksr_ppdefine_t* pp_get_define(int idx); 36 37 int pp_subst_add(char *data); 38 int pp_substdef_add(char *data, int mode); 39 int pp_subst_run(char **data); 40 41 int pp_define(int len, const char *text); 42 int pp_define_set(int len, char *text); 43 int pp_define_set_type(int type); 44 str *pp_define_get(int len, const char * text); 45 46 void pp_ifdef_level_update(int val); 47 int pp_ifdef_level_check(void); 48 void pp_ifdef_level_error(void); 49 50 void pp_define_core(void); 51 52 #endif /*_PPCFG_H_*/ 53 54 /* vi: set ts=4 sw=4 tw=79:ai:cindent: */ 55