xref: /dpdk/examples/ip_pipeline/conn.h (revision 4bbf8e30aa5e2a621db288062c72aed324cae191)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2018 Intel Corporation
3  */
4 
5 #ifndef __INCLUDE_CONN_H__
6 #define __INCLUDE_CONN_H__
7 
8 #include <stdint.h>
9 
10 struct conn;
11 
12 #ifndef CONN_WELCOME_LEN_MAX
13 #define CONN_WELCOME_LEN_MAX                               1024
14 #endif
15 
16 #ifndef CONN_PROMPT_LEN_MAX
17 #define CONN_PROMPT_LEN_MAX                                16
18 #endif
19 
20 typedef void (*conn_msg_handle_t)(char *msg_in,
21 	char *msg_out,
22 	size_t msg_out_len_max);
23 
24 struct conn_params {
25 	const char *welcome;
26 	const char *prompt;
27 	const char *addr;
28 	uint16_t port;
29 	size_t buf_size;
30 	size_t msg_in_len_max;
31 	size_t msg_out_len_max;
32 	conn_msg_handle_t msg_handle;
33 };
34 
35 struct conn *
36 conn_init(struct conn_params *p);
37 
38 void
39 conn_free(struct conn *conn);
40 
41 int
42 conn_poll_for_conn(struct conn *conn);
43 
44 int
45 conn_poll_for_msg(struct conn *conn);
46 
47 #endif
48