42#define RECORD_TYPE_STR(_rt) (cdrel_record_type_map[_rt])
45#define MODULE_TYPE_STR(_mt) (cdrel_module_type_map[_mt])
92#define DATA_TYPE_STR(_dt) (_dt < cdrel_data_type_end ? cdrel_data_type_map[_dt] : NULL)
95#define CDREL_FIELD_FLAG_QUOTE (0)
96#define CDREL_FIELD_FLAG_NOQUOTE (1)
97#define CDREL_FIELD_FLAG_TYPE_FORCED (2)
98#define CDREL_FIELD_FLAG_USERVAR (3)
99#define CDREL_FIELD_FLAG_LITERAL (4)
100#define CDREL_FIELD_FLAG_FORMAT_SPEC (5)
101#define CDREL_FIELD_FLAG_LAST (6)
118#define AST_EVENT_IE_CEL_LITERAL (AST_EVENT_IE_TOTAL + 1)
119#define AST_EVENT_IE_CEL_EVENT_ENUM (AST_EVENT_IE_TOTAL + 2)
120#define LAST_CEL_ID AST_EVENT_IE_CEL_EVENT_ENUM
133#define CDR_OFFSET_SHIFT (LAST_CEL_ID + 1)
134#define CDR_OFFSETOF(_field) (offsetof(struct ast_cdr, _field) + CDR_OFFSET_SHIFT)
135#define CDR_FIELD(__cdr, __offset) (((void *)__cdr) + __offset - CDR_OFFSET_SHIFT)
Asterisk main include file. File version handling, generic pbx functions.
const char * cdrel_basename(const char *path)
int(* cdrel_field_formatter)(struct cdrel_config *config, struct cdrel_field *field, struct cdrel_value *input_value, struct cdrel_value *output_value)
#define CDREL_FIELD_FLAG_USERVAR
int write_record_to_database(struct cdrel_config *config, struct cdrel_values *values)
#define CDREL_FIELD_FLAG_LITERAL
int write_record_to_file(struct cdrel_config *config, struct ast_str *record)
#define CDREL_FIELD_FLAG_LAST
const struct cdrel_field * get_registered_field_by_name(enum cdrel_record_type record_type, const char *name)
enum cdrel_data_type cdrel_data_type_from_str(const char *str)
struct ast_channel *(* cdrel_dummy_channel_alloc)(struct cdrel_config *config, void *record)
#define CDREL_FIELD_FLAG_TYPE_FORCED
@ cdrel_data_type_strings_end
@ cdrel_quoting_method_all
@ cdrel_quoting_method_none
@ cdrel_quoting_method_non_numeric
@ cdrel_quoting_method_end
@ cdrel_quoting_method_minimal
cdrel_field_formatter cdrel_field_formatters[cdrel_data_type_end]
#define CDREL_FIELD_FLAG_FORMAT_SPEC
#define CDREL_FIELD_FLAG_QUOTE
const char * cdrel_module_type_map[]
cdrel_dummy_channel_alloc cdrel_dummy_channel_allocators[cdrel_format_type_end]
cdrel_backend_writer cdrel_backend_writers[cdrel_format_type_end]
int load_formatters(void)
int(* cdrel_field_getter)(void *record, struct cdrel_config *config, struct cdrel_field *field, struct cdrel_value *value)
int(* cdrel_backend_writer)(struct cdrel_config *config, struct cdrel_values *values)
#define CDR_OFFSETOF(_field)
cdrel_field_getter cdrel_field_getters[cdrel_record_type_end][cdrel_data_type_end]
const char * cdrel_data_type_map[]
const char * cdrel_record_type_map[]
#define CDREL_FIELD_FLAG_NOQUOTE
const char * cdrel_get_field_flags(struct ast_flags *flags, struct ast_str **str)
static char accountcode[AST_MAX_ACCOUNT_CODE]
static const char config[]
static int answer(void *data)
Asterisk locking-related definitions:
Protected header for the CDR and CEL Custom Backends.
#define AST_DECLARE_STRING_FIELDS(field_list)
Declare the fields needed in a structure.
#define AST_STRING_FIELD(name)
Declare a string field.
String manipulation functions.
Main Channel structure associated with a channel.
Structure used to handle boolean flags.
Structure for mutex and tracking information.
Support for dynamic strings.
enum cdrel_config_type config_type
enum cdrel_quoting_method quoting_method
cdrel_dummy_channel_alloc dummy_channel_alloc
const ast_string_field db_columns
const ast_string_field config_filename
const ast_string_field db_table
struct cdrel_config::@455 fields
const ast_string_field output_filename
enum cdrel_text_format_type format_type
enum cdrel_record_type record_type
enum cdrel_backend_type backend_type
enum cdrel_data_type input_data_type
enum cdrel_data_type output_data_type
enum cdrel_record_type record_type
union cdrel_value::@454 values
enum cdrel_data_type data_type
Vector container support.
#define AST_VECTOR(name, type)
Define a vector structure.