mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-02 06:22:52 +07:00
33 lines
1.5 KiB
C
33 lines
1.5 KiB
C
#pragma once
|
|
|
|
#include "arch.h"
|
|
#include "iobuf.h"
|
|
#include "queue.h"
|
|
|
|
// Convenience wrappers around mg_xprintf
|
|
size_t mg_vsnprintf(char *buf, size_t len, const char *fmt, va_list *ap);
|
|
size_t mg_snprintf(char *, size_t, const char *fmt, ...);
|
|
char *mg_vmprintf(const char *fmt, va_list *ap);
|
|
char *mg_mprintf(const char *fmt, ...);
|
|
size_t mg_queue_printf(struct mg_queue *, const char *fmt, ...);
|
|
|
|
// %M print helper functions
|
|
size_t mg_print_base64(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_esc(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_hex(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_ip(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_ip_port(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_ip4(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_ip6(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_mac(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_ieee64(void (*out)(char, void *), void *arg, va_list *ap);
|
|
size_t mg_print_l2addr(void (*out)(char, void *), void *arg, va_list *ap);
|
|
|
|
// Various output functions
|
|
void mg_pfn_iobuf(char ch, void *param); // param: struct mg_iobuf *
|
|
void mg_pfn_iobuf_noresize(char ch, void *param); // param: struct mg_iobuf *
|
|
void mg_pfn_stdout(char c, void *param); // param: ignored
|
|
|
|
// A helper macro for printing JSON: mg_snprintf(buf, len, "%m", MG_ESC("hi"))
|
|
#define MG_ESC(str) mg_print_esc, 0, (str)
|