1/* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2020 Intel Corporation 3 */ 4 5#ifndef __INCLUDE_CONN_H__ 6#define __INCLUDE_CONN_H__ 7 8#include <stdint.h> 9 10struct 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 20typedef void 21(*conn_msg_handle_t)(char *msg_in, 22 char *msg_out, 23 size_t msg_out_len_max, 24 void *arg); 25 26struct conn_params { 27 const char *welcome; 28 const char *prompt; 29 const char *addr; 30 uint16_t port; 31 size_t buf_size; 32 size_t msg_in_len_max; 33 size_t msg_out_len_max; 34 conn_msg_handle_t msg_handle; 35 void *msg_handle_arg; 36}; 37 38struct conn * 39conn_init(struct conn_params *p); 40 41void 42conn_free(struct conn *conn); 43 44int 45conn_poll_for_conn(struct conn *conn); 46 47int 48conn_poll_for_msg(struct conn *conn); 49 50#endif 51