/*---------------------------------------------------------------------------*/ #ifndef STRFORMAT_H_ #define STRFORMAT_H_ /*---------------------------------------------------------------------------*/ #include /*---------------------------------------------------------------------------*/ #define STRFORMAT_OK 0 #define STRFORMAT_FAILED 1 /*---------------------------------------------------------------------------*/ typedef unsigned int StrFormatResult; /*---------------------------------------------------------------------------*/ /* The data argument may only be considered valid during the function call */ typedef StrFormatResult (*StrFormatWrite)(void *user_data, const char *data, unsigned int len); typedef struct _StrFormatContext { StrFormatWrite write_str; void *user_data; } StrFormatContext; /*---------------------------------------------------------------------------*/ int format_str(const StrFormatContext *ctxt, const char *format, ...) __attribute__ ((__format__ (__printf__, 2,3))); int format_str_v(const StrFormatContext *ctxt, const char *format, va_list ap); /*---------------------------------------------------------------------------*/ #endif /* STRFORMAT_H_ */ /*---------------------------------------------------------------------------*/