aboutsummaryrefslogtreecommitdiffstats
path: root/serve/message-json.h
diff options
context:
space:
mode:
Diffstat (limited to 'serve/message-json.h')
-rw-r--r--serve/message-json.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/serve/message-json.h b/serve/message-json.h
index 61211d6..c5332b4 100644
--- a/serve/message-json.h
+++ b/serve/message-json.h
@@ -14,10 +14,16 @@ typedef struct {
const bool *given; /* fields given elsewhere (a request's query), or NULL */
bool lenient; /* a member naming no field is skipped, value and all (an API's answer) */
bool seen[PURE_MODULE_FIELDS];
+ /* A rows field's array of objects is encoded in the stored form of its
+ * list into rows (grown with malloc: the caller frees it), which the
+ * caller places from rows_base on in the payload, as the table says. */
+ unsigned char *rows;
+ size_t rows_size, rows_capacity, rows_base;
} PureJsonMessage;
/* The object at json[*at] (its opening brace), *at moved past it: NULL, or
- * what is wrong ("json", "json_field": unknown or given twice, "json_type"). */
+ * what is wrong ("json", "json_field": unknown or given twice, "json_type",
+ * "limit": rows past what a payload holds, "memory"). */
const char *pure_json_message(PureJsonMessage *, unsigned char *json, size_t size, size_t *at);
size_t pure_json_space(const unsigned char *json, size_t at, size_t size);
/* A fixed field's value from its text (a query value or a JSON number) into