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