syslog-ng source
csvparser.c File Reference
#include "csvparser.h"
#include "scanner/csv-scanner/csv-scanner.h"
#include "parser/parser-expr.h"
#include "scratch-buffers.h"
#include <string.h>
Include dependency graph for csvparser.c:

Classes

struct  CSVParser
 

Macros

#define CSV_PARSER_FLAGS_SHIFT   16
 
#define CSV_PARSER_FLAGS_MASK   0xFFFF0000
 
#define CSV_SCANNER_FLAGS_MASK   0xFFFF
 
#define CSV_PARSER_DIALECT_MASK   (0x7 << CSV_PARSER_FLAGS_SHIFT)
 
#define CSV_PARSER_ESCAPE_MODE_NONE   (1 << CSV_PARSER_FLAGS_SHIFT)
 
#define CSV_PARSER_ESCAPE_MODE_BACKSLASH   (2 << CSV_PARSER_FLAGS_SHIFT)
 
#define CSV_PARSER_ESCAPE_MODE_DOUBLE_CHAR   (4 << CSV_PARSER_FLAGS_SHIFT)
 
#define CSV_PARSER_DROP_INVALID   (8 << CSV_PARSER_FLAGS_SHIFT)
 

Typedefs

typedef const gchar *(* key_formatter_t) (GString *scratch, const gchar *key, const gint prefix_len)
 

Functions

CSVParserColumncsv_parser_column_new (const gchar *name, LogMessageValueType type)
 
CSVParserColumncsv_parser_column_clone (CSVParserColumn *other)
 
void csv_parser_column_free (CSVParserColumn *self)
 
CSVScannerOptionscsv_parser_get_scanner_options (LogParser *s)
 
void csv_parser_set_columns (LogParser *s, GList *columns)
 
gboolean csv_parser_set_flags (LogParser *s, guint32 flags)
 
void csv_parser_set_prefix (LogParser *s, const gchar *prefix)
 
void csv_parser_set_drop_invalid (LogParser *s, gboolean drop_invalid)
 
gboolean _should_drop_message (CSVParser *self)
 
LogParser * csv_parser_new (GlobalConfig *cfg)
 
guint32 csv_parser_lookup_flag (const gchar *flag)
 
gint csv_parser_lookup_dialect (const gchar *flag)
 
void csv_parser_set_on_error (LogParser *s, gint on_error)
 

Macro Definition Documentation

◆ CSV_PARSER_DIALECT_MASK

#define CSV_PARSER_DIALECT_MASK   (0x7 << CSV_PARSER_FLAGS_SHIFT)

◆ CSV_PARSER_DROP_INVALID

#define CSV_PARSER_DROP_INVALID   (8 << CSV_PARSER_FLAGS_SHIFT)

◆ CSV_PARSER_ESCAPE_MODE_BACKSLASH

#define CSV_PARSER_ESCAPE_MODE_BACKSLASH   (2 << CSV_PARSER_FLAGS_SHIFT)

◆ CSV_PARSER_ESCAPE_MODE_DOUBLE_CHAR

#define CSV_PARSER_ESCAPE_MODE_DOUBLE_CHAR   (4 << CSV_PARSER_FLAGS_SHIFT)

◆ CSV_PARSER_ESCAPE_MODE_NONE

#define CSV_PARSER_ESCAPE_MODE_NONE   (1 << CSV_PARSER_FLAGS_SHIFT)

◆ CSV_PARSER_FLAGS_MASK

#define CSV_PARSER_FLAGS_MASK   0xFFFF0000

◆ CSV_PARSER_FLAGS_SHIFT

#define CSV_PARSER_FLAGS_SHIFT   16

◆ CSV_SCANNER_FLAGS_MASK

#define CSV_SCANNER_FLAGS_MASK   0xFFFF

Typedef Documentation

◆ key_formatter_t

typedef const gchar*(* key_formatter_t) (GString *scratch, const gchar *key, const gint prefix_len)

Function Documentation

◆ _should_drop_message()

gboolean _should_drop_message ( CSVParser self)

◆ csv_parser_column_clone()

CSVParserColumn* csv_parser_column_clone ( CSVParserColumn other)

◆ csv_parser_column_free()

void csv_parser_column_free ( CSVParserColumn self)

◆ csv_parser_column_new()

CSVParserColumn* csv_parser_column_new ( const gchar *  name,
LogMessageValueType  type 
)

◆ csv_parser_get_scanner_options()

CSVScannerOptions* csv_parser_get_scanner_options ( LogParser *  s)

◆ csv_parser_lookup_dialect()

gint csv_parser_lookup_dialect ( const gchar *  flag)

◆ csv_parser_lookup_flag()

guint32 csv_parser_lookup_flag ( const gchar *  flag)

◆ csv_parser_new()

LogParser* csv_parser_new ( GlobalConfig *  cfg)

◆ csv_parser_set_columns()

void csv_parser_set_columns ( LogParser *  s,
GList *  columns 
)

◆ csv_parser_set_drop_invalid()

void csv_parser_set_drop_invalid ( LogParser *  s,
gboolean  drop_invalid 
)

◆ csv_parser_set_flags()

gboolean csv_parser_set_flags ( LogParser *  s,
guint32  flags 
)

◆ csv_parser_set_on_error()

void csv_parser_set_on_error ( LogParser *  s,
gint  on_error 
)

◆ csv_parser_set_prefix()

void csv_parser_set_prefix ( LogParser *  s,
const gchar *  prefix 
)