utils: use constant byte-order conversion
[project/libubox.git] / blobmsg_json.h
index 5ea6f09..9dfc02d 100644 (file)
 #define __BLOBMSG_JSON_H
 
 struct json_object;
-typedef struct json_object json_object;
 
 #include <stdbool.h>
 #include "blobmsg.h"
 
-bool blobmsg_add_object(struct blob_buf *b, json_object *obj);
-bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object *obj);
+bool blobmsg_add_object(struct blob_buf *b, struct json_object *obj);
+bool blobmsg_add_json_element(struct blob_buf *b, const char *name, struct json_object *obj);
 bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str);
 bool blobmsg_add_json_from_file(struct blob_buf *b, const char *file);
 
@@ -43,4 +42,18 @@ static inline char *blobmsg_format_json_indent(struct blob_attr *attr, bool list
        return blobmsg_format_json_with_cb(attr, list, NULL, NULL, indent);
 }
 
+char *blobmsg_format_json_value_with_cb(struct blob_attr *attr,
+                                       blobmsg_json_format_t cb, void *priv,
+                                       int indent);
+
+static inline char *blobmsg_format_json_value(struct blob_attr *attr)
+{
+       return blobmsg_format_json_value_with_cb(attr, NULL, NULL, -1);
+}
+
+static inline char *blobmsg_format_json_value_indent(struct blob_attr *attr, int indent)
+{
+       return blobmsg_format_json_value_with_cb(attr, NULL, NULL, indent);
+}
+
 #endif