syslog-ng source
cfg-parser.h File Reference
#include "syslog-ng.h"
#include "cfg-lexer.h"
Include dependency graph for cfg-parser.h:

Go to the source code of this file.

Classes

struct  CfgParser
 
struct  CfgFlagHandler
 

Macros

#define CFG_PARSER_DECLARE_LEXER_BINDING(parser_prefix, PARSER_PREFIX, root_type)
 
#define CFG_PARSER_IMPLEMENT_LEXER_BINDING(parser_prefix, PARSER_PREFIX, root_type)
 

Enumerations

enum  { CFH_SET , CFH_CLEAR }
 
enum  CfgYesNoAuto { CYNA_AUTO = -1 , CYNA_NO = 0 , CYNA_YES = 1 }
 

Functions

gboolean cfg_parser_parse (CfgParser *self, CfgLexer *lexer, gpointer *instance, gpointer arg)
 
void cfg_parser_cleanup (CfgParser *self, gpointer instance)
 
gboolean cfg_process_flag (CfgFlagHandler *handlers, gpointer base, const gchar *flag)
 
gboolean cfg_process_yesno (const gchar *yesno)
 
void report_syntax_error (CfgLexer *lexer, const CFG_LTYPE *yylloc, const char *what, const char *msg, gboolean in_main_grammar)
 

Variables

CfgParser main_parser
 

Macro Definition Documentation

◆ CFG_PARSER_DECLARE_LEXER_BINDING

#define CFG_PARSER_DECLARE_LEXER_BINDING (   parser_prefix,
  PARSER_PREFIX,
  root_type 
)
Value:
int \
parser_prefix ## lex(CFG_STYPE *yylval, CFG_LTYPE *yylloc, CfgLexer *lexer); \
\
void \
parser_prefix ## error(const CFG_LTYPE *yylloc, CfgLexer *lexer, root_type instance, gpointer arg, const char *msg);
Definition: cfg-lexer.h:88
Definition: cfg-lexer.h:99
LogMessage * msg
Definition: test_rename.c:35

◆ CFG_PARSER_IMPLEMENT_LEXER_BINDING

#define CFG_PARSER_IMPLEMENT_LEXER_BINDING (   parser_prefix,
  PARSER_PREFIX,
  root_type 
)
Value:
int \
parser_prefix ## lex(CFG_STYPE *yylval, CFG_LTYPE *yylloc, CfgLexer *lexer) \
{ \
int token; \
\
token = cfg_lexer_lex(lexer, yylval, yylloc); \
return token; \
} \
\
void \
parser_prefix ## error(const CFG_LTYPE *yylloc, CfgLexer *lexer, root_type instance, gpointer arg, const char *msg) \
{ \
gboolean in_main_grammar = __builtin_strcmp( # parser_prefix, "main_") == 0; \
report_syntax_error(lexer, yylloc, cfg_lexer_get_context_description(lexer), msg, \
in_main_grammar); \
}
int cfg_lexer_lex(CfgLexer *self, CFG_STYPE *yylval, CFG_LTYPE *yylloc)
Definition: cfg-lexer.c:1122
const gchar * cfg_lexer_get_context_description(CfgLexer *self)
Definition: cfg-lexer.c:139

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CFH_SET 
CFH_CLEAR 

◆ CfgYesNoAuto

Enumerator
CYNA_AUTO 
CYNA_NO 
CYNA_YES 

Function Documentation

◆ cfg_parser_cleanup()

void cfg_parser_cleanup ( CfgParser self,
gpointer  instance 
)

◆ cfg_parser_parse()

gboolean cfg_parser_parse ( CfgParser self,
CfgLexer *  lexer,
gpointer *  instance,
gpointer  arg 
)

◆ cfg_process_flag()

gboolean cfg_process_flag ( CfgFlagHandler handlers,
gpointer  base,
const gchar *  flag 
)

◆ cfg_process_yesno()

gboolean cfg_process_yesno ( const gchar *  yesno)

◆ report_syntax_error()

void report_syntax_error ( CfgLexer *  lexer,
const CFG_LTYPE yylloc,
const char *  what,
const char *  msg,
gboolean  in_main_grammar 
)

Variable Documentation

◆ main_parser

CfgParser main_parser
extern