9 #ifndef __AFW_TRACE_H__
10 #define __AFW_TRACE_H__
48 #define AFW_TRACE_STATIC_TRACE_ID(label, trace_id) \
49 static const afw_interface_implementation_rti_t label = \
50 {"afw_trace_id", __FILE__, trace_id};
65 #define afw_trace(trace_level, flag_index, instance, message, xctx) \
66 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
68 afw_log_priority_trace##trace_level, \
70 &((const afw_instance_t *)instance)->inf->rti \
72 AFW__FILE_LINE__, message, xctx)
88 #define afw_trace_fz(trace_level, flag_index, instance, xctx, format_z, ...) \
89 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
91 afw_log_priority_trace##trace_level, \
93 &((const afw_instance_t *)instance)->inf->rti \
95 AFW__FILE_LINE__, xctx, format_z, __VA_ARGS__)
111 #define afw_trace_vz(trace_level, flag_index, instance, format_z, ap, xctx) \
112 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
113 afw_trace_write_vz( \
114 afw_log_priority_trace##trace_level, \
116 &((const afw_instance_t *)instance)->inf->rti \
118 AFW__FILE_LINE__, format_z, ap, xctx)
133 #define afw_trace_z(trace_level, flag_index, instance, message_z, xctx) \
134 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
136 afw_log_priority_trace##trace_level, \
138 &((const afw_instance_t *)instance)->inf->rti \
140 AFW__FILE_LINE__, message_z, xctx)
#define AFW_BEGIN_DECLARES
#define AFW_DECLARE(type)
Declare a public afw function.
Interfaceafw_interface header.
afw_utf8_octet_t afw_utf8_z_t
NFC normalized UTF-8 null terminated string.
enum afw_log_priority_e afw_log_priority_t
Log levels. See afw_log.h for more information.
void afw_trace_write(afw_log_priority_t priority, const afw_interface_implementation_rti_t *rti, const afw_utf8_z_t *source_z, const afw_utf8_t *message, afw_xctx_t *xctx)
Write trace.
void afw_trace_write_fz(afw_log_priority_t priority, const afw_interface_implementation_rti_t *rti, const afw_utf8_z_t *source_z, afw_xctx_t *xctx, const afw_utf8_z_t *format_z,...)
Write trace using a printf style format.
void afw_trace_write_z(afw_log_priority_t priority, const afw_interface_implementation_rti_t *rti, const afw_utf8_z_t *source_z, const afw_utf8_z_t *message_z, afw_xctx_t *xctx)
Write trace from zero terminate string.
void afw_trace_write_vz(afw_log_priority_t priority, const afw_interface_implementation_rti_t *rti, const afw_utf8_z_t *source_z, const afw_utf8_z_t *format_z, va_list ap, afw_xctx_t *xctx)
Write trace using a printf style format and va_list.
Interface Implementation Run Time Information.
NFC normalized UTF-8 string.
Interface afw_xctx public struct.