#include #define JSONRPC_PARSE_ERROR -32700 #define JSONRPC_INVALID_REQUEST -32600 #define JSONRPC_METHOD_NOT_FOUND -32601 #define JSONRPC_INVALID_PARAMS -32602 #define JSONRPC_INTERNAL_ERROR -32603 extern json_t *jsonrpc_async_dummy; typedef int (*jsonrpc_method_prototype)(void *apparg, json_t *json_params, json_t **result); struct jsonrpc_method_entry_t { const char *name; jsonrpc_method_prototype funcptr; const char *params_spec; }; char *jsonrpc_handler(void *apparg, const char *input, size_t input_len, struct jsonrpc_method_entry_t method_table[]); json_t *jsonrpc_result_response(json_t *json_id, json_t *json_result); json_t *jsonrpc_error_object(int code, json_t *data);