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