2012-08-12 18:40:15 +02:00
|
|
|
|
/*
|
|
|
|
|
* vim:ts=4:sw=4:expandtab
|
|
|
|
|
*
|
|
|
|
|
* i3bar - an xcb-based status- and ws-bar for i3
|
|
|
|
|
* © 2010-2012 Axel Wagner and contributors (see also: LICENSE)
|
|
|
|
|
*
|
2012-09-03 10:43:29 +02:00
|
|
|
|
* parse_json_header.c: Parse the JSON protocol header to determine
|
|
|
|
|
* protocol version and features.
|
2012-08-12 18:40:15 +02:00
|
|
|
|
*
|
|
|
|
|
*/
|
2012-09-03 10:43:29 +02:00
|
|
|
|
#ifndef PARSE_JSON_HEADER_H_
|
|
|
|
|
#define PARSE_JSON_HEADER_H_
|
2012-08-12 18:40:15 +02:00
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Determines the JSON i3bar protocol version from the given buffer. In case
|
|
|
|
|
* the buffer does not contain valid JSON, or no version field is found, this
|
|
|
|
|
* function returns -1. The amount of bytes consumed by parsing the header is
|
|
|
|
|
* returned in *consumed (if non-NULL).
|
|
|
|
|
*
|
|
|
|
|
* The return type is an int32_t to avoid machines with different sizes of
|
|
|
|
|
* 'int' to allow different values here. It’s highly unlikely we ever exceed
|
|
|
|
|
* even an int8_t, but still…
|
|
|
|
|
*
|
|
|
|
|
*/
|
2012-09-03 10:43:29 +02:00
|
|
|
|
void parse_json_header(i3bar_child *child, const unsigned char *buffer, int length, unsigned int *consumed);
|
2012-08-12 18:40:15 +02:00
|
|
|
|
|
|
|
|
|
#endif
|