37 #include <json-c/json.h>
52 typedef struct __japi_context {
58 struct __japi_pushsrv_context
71 typedef struct __japi_client {
74 struct __japi_client *
next;
81 json_object *response);
89 typedef struct __japi_request {
92 struct __japi_request *
next;
bool shutdown
Definition: japi.h:62
uint16_t max_clients
Definition: japi.h:55
uint16_t num_clients
Definition: japi.h:54
struct __japi_client * next
Definition: japi.h:74
int socket
Definition: japi.h:72
void(* japi_req_handler)(japi_context *ctx, json_object *request, json_object *response)
JAPI request handler type.
Definition: japi.h:80
int japi_set_max_allowed_clients(japi_context *ctx, uint16_t num)
Set the number of allowed clients.
Definition: japi.c:336
japi_context * japi_init(void *userptr)
Create and initialize a new JAPI context.
Definition: japi.c:288
bool include_args_in_response
Definition: japi.h:61
struct __japi_client * clients
Definition: japi.h:60
struct __japi_request * next
Definition: japi.h:92
JAPI client context.
Definition: japi.h:71
int japi_destroy(japi_context *ctx)
Destroy a JAPI context.
Definition: japi.c:209
Buffer type for storing remaining bytes.
Definition: creadline.h:55
struct __japi_request * requests
Definition: japi.h:57
JAPI request struct.
Definition: japi.h:89
JAPI context struct.
Definition: japi.h:52
struct __japi_pushsrv_context * push_services
Definition: japi.h:58
int japi_include_args_in_response(japi_context *ctx, bool include_args)
Configure context to include request arguments in response.
Definition: japi.c:352
japi_req_handler func
Definition: japi.h:91
Read line from file descriptor.
const char * name
Definition: japi.h:90
int japi_register_request(japi_context *ctx, const char *req_name, japi_req_handler req_handler)
Register a JAPI request handler.
Definition: japi.c:239
int japi_shutdown(japi_context *ctx)
Shutdown the JAPI server.
Definition: japi.c:197
pthread_mutex_t lock
Definition: japi.h:56
int japi_start_server(japi_context *ctx, const char *port)
Start a JAPI server.
Definition: japi.c:482
void * userptr
Definition: japi.h:53
bool init
Definition: japi.h:63
creadline_buf_t crl_buffer
Definition: japi.h:73