X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=blobmsg.h;h=2fb61d41780fba6786f3fe3c359528ddaba330f3;hp=dce5b85c82580fbff83eecb1073a0006eac188eb;hb=d6ebb84ad66b16ae896a797bd865a23c80eff4e4;hpb=29598e3dc850c2edf721704bf00f6a825077ff6e diff --git a/blobmsg.h b/blobmsg.h index dce5b85..2fb61d4 100644 --- a/blobmsg.h +++ b/blobmsg.h @@ -31,7 +31,8 @@ enum blobmsg_type { BLOBMSG_TYPE_INT16, BLOBMSG_TYPE_INT8, __BLOBMSG_TYPE_LAST, - BLOBMSG_TYPE_LAST = __BLOBMSG_TYPE_LAST - 1 + BLOBMSG_TYPE_LAST = __BLOBMSG_TYPE_LAST - 1, + BLOBMSG_TYPE_BOOL = BLOBMSG_TYPE_INT8, }; struct blobmsg_hdr { @@ -139,10 +140,30 @@ static inline int blobmsg_buf_init(struct blob_buf *buf) return blob_buf_init(buf, BLOBMSG_TYPE_TABLE); } +static inline uint8_t blobmsg_get_u8(struct blob_attr *attr) +{ + return *(uint8_t *) blobmsg_data(attr); +} + +static inline uint16_t blobmsg_get_u16(struct blob_attr *attr) +{ + return *(uint16_t *) blobmsg_data(attr); +} + +static inline uint32_t blobmsg_get_u32(struct blob_attr *attr) +{ + return *(uint32_t *) blobmsg_data(attr); +} + +static inline uint64_t blobmsg_get_u64(struct blob_attr *attr) +{ + return *(uint64_t *) blobmsg_data(attr); +} + void *blobmsg_alloc_string_buffer(struct blob_buf *buf, const char *name, int maxlen); void blobmsg_add_string_buffer(struct blob_buf *buf); -char *blobmsg_format_json(struct blob_attr *attr, bool list); +/* blobmsg to json formatting */ #define blobmsg_for_each_attr(pos, attr, rem) \ for (rem = blobmsg_data_len(attr), pos = blobmsg_data(attr); \