]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/examples/ip_pipeline/conn.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / spdk / dpdk / examples / ip_pipeline / conn.h
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