2 * vim:ts=4:sw=4:expandtab
4 * i3bar - an xcb-based status- and ws-bar for i3
5 * © 2010-2012 Axel Wagner and contributors (see also: LICENSE)
7 * parse_json_header.c: Parse the JSON protocol header to determine
8 * protocol version and features.
11 #ifndef PARSE_JSON_HEADER_H_
12 #define PARSE_JSON_HEADER_H_
17 * Determines the JSON i3bar protocol version from the given buffer. In case
18 * the buffer does not contain valid JSON, or no version field is found, this
19 * function returns -1. The amount of bytes consumed by parsing the header is
20 * returned in *consumed (if non-NULL).
22 * The return type is an int32_t to avoid machines with different sizes of
23 * 'int' to allow different values here. It’s highly unlikely we ever exceed
24 * even an int8_t, but still…
27 void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed);