dpdk/examples/pipeline/conn.h
<<
>>
Prefs
   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