9 #ifndef __AFW_DEBUG_H__
10 #define __AFW_DEBUG_H__
47 #define AFW_DEBUG_STATIC_DEBUG_ID(label, debug_id) \
48 static const afw_interface_implementation_rti_t label = \
49 {"afw_debug_id", __FILE__, debug_id};
59 #define afw_debug(flag_index, instance, message, xctx) \
60 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
63 &((const afw_instance_t *)instance)->inf->rti \
65 AFW__FILE_LINE__, message, xctx)
76 #define afw_debug_fz(flag_index, instance, xctx, format_z, ...) \
77 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
80 &((const afw_instance_t *)instance)->inf->rti \
82 AFW__FILE_LINE__, xctx, format_z, __VA_ARGS__)
99 #define afw_debug_vz(flag_index, instance, format_z, ap, xctx) \
100 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
101 afw_debug_write_vz( \
103 &((const afw_instance_t *)instance)->inf->rti \
105 AFW__FILE_LINE__, format_z, ap, xctx)
115 #define afw_debug_z(flag_index, instance, message_z, xctx) \
116 if ((flag_index) < (xctx)->flags_count && (xctx)->flags[flag_index]) \
119 &((const afw_instance_t *)instance)->inf->rti \
121 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.
void afw_debug_write_z(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 debug from zero terminate string.
void afw_debug_write_vz(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 debug using a printf style format and va_list.
void afw_debug_write(const afw_interface_implementation_rti_t *rti, const afw_utf8_z_t *source_z, const afw_utf8_t *message, afw_xctx_t *xctx)
Write debug.
void afw_debug_write_fz(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 debug using a printf style format.
Interface Implementation Run Time Information.
NFC normalized UTF-8 string.
Interface afw_xctx public struct.