X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Funixctl.h;h=13a8096e80ee55e606f560b7cbfcbd1130f66bc7;hb=67e96a5dca90225358936b1392bba8b3207805b1;hp=8eb190b0b01377ab1753a58c7eec35adff5b1eae;hpb=0e15264f96e3caff662c7998cc739a3dd5c1c0f2;p=openvswitch diff --git a/lib/unixctl.h b/lib/unixctl.h index 8eb190b0..13a8096e 100644 --- a/lib/unixctl.h +++ b/lib/unixctl.h @@ -29,13 +29,12 @@ void unixctl_server_wait(struct unixctl_server *); void unixctl_server_destroy(struct unixctl_server *); /* Client for Unix domain socket control connection. */ -struct unixctl_client; -int unixctl_client_create(const char *path, struct unixctl_client **); -void unixctl_client_destroy(struct unixctl_client *); -int unixctl_client_transact(struct unixctl_client *, - const char *request, - int *reply_code, char **reply_body); -const char *unixctl_client_target(const struct unixctl_client *); +struct jsonrpc; +int unixctl_client_create(const char *path, struct jsonrpc **client); +int unixctl_client_transact(struct jsonrpc *client, + const char *command, + int argc, char *argv[], + char **result, char **error); /* Command registration. */ struct unixctl_conn; @@ -44,8 +43,8 @@ typedef void unixctl_cb_func(struct unixctl_conn *, void unixctl_command_register(const char *name, const char *usage, int min_args, int max_args, unixctl_cb_func *cb, void *aux); -void unixctl_command_reply(struct unixctl_conn *, int code, - const char *body); +void unixctl_command_reply_error(struct unixctl_conn *, const char *error); +void unixctl_command_reply(struct unixctl_conn *, const char *body); #ifdef __cplusplus }