10 static const char *
indent_str =
"\t\t\t\t\t\t\t\t\t\t\t\t\t";
12 #define indent_printf(indent, ...) do { \
14 fwrite(indent_str, indent, 1, stderr); \
15 fprintf(stderr, __VA_ARGS__); \
90 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
98 fprintf(stderr,
"Parse failed\n");
105 fprintf(stderr,
"List: ");
109 fprintf(stderr,
"Testdata: ");
153 int main(
int argc,
char **argv)
160 fprintf(stderr,
"[*] blobmsg dump:\n");
167 fprintf(stderr,
"\n[*] blobmsg to json: %s\n", json);
173 fprintf(stderr,
"\n[*] blobmsg from json:\n");
#define __blob_for_each_attr(pos, attr, rem)
static size_t blob_len(const struct blob_attr *attr)
static void * blob_data(const struct blob_attr *attr)
int blobmsg_parse(const struct blobmsg_policy *policy, int policy_len, struct blob_attr **tb, void *data, unsigned int len)
static size_t blobmsg_data_len(const struct blob_attr *attr)
static void * blobmsg_open_table(struct blob_buf *buf, const char *name)
static void blobmsg_close_table(struct blob_buf *buf, void *cookie)
static int blobmsg_add_u8(struct blob_buf *buf, const char *name, uint8_t val)
static uint16_t blobmsg_get_u16(struct blob_attr *attr)
static int blobmsg_add_u64(struct blob_buf *buf, const char *name, uint64_t val)
static char * blobmsg_get_string(struct blob_attr *attr)
static int blobmsg_add_string(struct blob_buf *buf, const char *name, const char *string)
static int blobmsg_add_u16(struct blob_buf *buf, const char *name, uint16_t val)
static int blobmsg_buf_init(struct blob_buf *buf)
static uint32_t blobmsg_get_u32(struct blob_attr *attr)
static void * blobmsg_open_array(struct blob_buf *buf, const char *name)
static uint64_t blobmsg_get_u64(struct blob_attr *attr)
static double blobmsg_get_double(struct blob_attr *attr)
static void * blobmsg_data(const struct blob_attr *attr)
static int blobmsg_add_double(struct blob_buf *buf, const char *name, double val)
static uint8_t blobmsg_get_u8(struct blob_attr *attr)
static int blobmsg_add_u32(struct blob_buf *buf, const char *name, uint32_t val)
bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str)
static char * blobmsg_format_json(struct blob_attr *attr, bool list)
static const char * indent_str
#define indent_printf(indent,...)
int main(int argc, char **argv)
static void fill_message(struct blob_buf *buf)
static const struct blobmsg_policy pol[]
static void dump_message(struct blob_buf *buf)
static void dump_attr_data(struct blob_attr *data, int indent, int next_indent)
static void dump_table(struct blob_attr *head, size_t len, int indent, bool array)