]> git.proxmox.com Git - mirror_ovs.git/blame - lib/unixctl.h
doc: Remove final markdown references
[mirror_ovs.git] / lib / unixctl.h
CommitLineData
064af421 1/*
e0edde6f 2 * Copyright (c) 2008, 2009, 2011 Nicira, Inc.
064af421 3 *
a14bc59f
BP
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at:
064af421 7 *
a14bc59f
BP
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
064af421
BP
15 */
16
17#ifndef UNIXCTL_H
18#define UNIXCTL_H 1
d295e8e9 19
f4ade105
JG
20#ifdef __cplusplus
21extern "C" {
22#endif
064af421
BP
23
24/* Server for Unix domain socket control connection. */
25struct unixctl_server;
26int unixctl_server_create(const char *path, struct unixctl_server **);
27void unixctl_server_run(struct unixctl_server *);
28void unixctl_server_wait(struct unixctl_server *);
29void unixctl_server_destroy(struct unixctl_server *);
30
31/* Client for Unix domain socket control connection. */
bde9f75d
EJ
32struct jsonrpc;
33int unixctl_client_create(const char *path, struct jsonrpc **client);
34int unixctl_client_transact(struct jsonrpc *client,
35 const char *command,
36 int argc, char *argv[],
37 char **result, char **error);
064af421
BP
38
39/* Command registration. */
40struct unixctl_conn;
8ca79daa 41typedef void unixctl_cb_func(struct unixctl_conn *,
0e15264f
BP
42 int argc, const char *argv[], void *aux);
43void unixctl_command_register(const char *name, const char *usage,
44 int min_args, int max_args,
8ca79daa 45 unixctl_cb_func *cb, void *aux);
bde9f75d
EJ
46void unixctl_command_reply_error(struct unixctl_conn *, const char *error);
47void unixctl_command_reply(struct unixctl_conn *, const char *body);
d295e8e9 48
f4ade105
JG
49#ifdef __cplusplus
50}
51#endif
064af421
BP
52
53#endif /* unixctl.h */