api: vat2 and json autogeneration for api messages
[vpp.git] / src / vpp-api / client / vppapiclient.h
1 /*
2  * Copyright (c) 2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef included_vppapiclient_h
16 #define included_vppapiclient_h
17
18 #include <stdint.h>
19 #include <stdbool.h>
20
21 typedef void (*vac_callback_t)(unsigned char * data, int len);
22 typedef void (*vac_error_callback_t)(void *, unsigned char *, int);
23 int vac_connect(char * name, char * chroot_prefix, vac_callback_t cb,
24     int rx_qlen);
25 int vac_disconnect(void);
26 int vac_read(char **data, int *l, unsigned short timeout);
27 int vac_write(char *data, int len);
28 void vac_free(void * msg);
29
30 int vac_get_msg_index(char * name);
31 int vac_msg_table_size(void);
32 int vac_msg_table_max_index(void);
33
34 void vac_rx_suspend (void);
35 void vac_rx_resume (void);
36 void vac_set_error_handler(vac_error_callback_t);
37 void vac_mem_init (size_t size);
38
39 #endif