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:
7 * http://www.apache.org/licenses/LICENSE-2.0
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.
15 #ifndef included_vppapiclient_h
16 #define included_vppapiclient_h
23 VAC_SVM_QUEUE_SUB_1 = -1,
24 VAC_SVM_QUEUE_SUB_2 = -2,
25 VAC_NOT_CONNECTED = -3,
26 VAC_SHM_NOT_READY = -4,
30 typedef void (*vac_callback_t)(unsigned char * data, int len);
31 typedef void (*vac_error_callback_t)(void *, unsigned char *, int);
32 int vac_connect(char * name, char * chroot_prefix, vac_callback_t cb,
34 int vac_disconnect(void);
35 int vac_read(char **data, int *l, unsigned short timeout);
36 int vac_write(char *data, int len);
37 void vac_free(void * msg);
39 int vac_get_msg_index(char * name);
40 int vac_msg_table_size(void);
41 int vac_msg_table_max_index(void);
43 void vac_rx_suspend (void);
44 void vac_rx_resume (void);
45 void vac_set_error_handler(vac_error_callback_t);
46 void vac_mem_init (size_t size);