lwiperf.h File Reference
`#include "lwip/opt.h"`
`#include "lwip/ip_addr.h"`

## Typedefs

typedef void(* | lwiperf_report_fn) (void *arg, enum lwiperf_report_type report_type, const ip_addr_t *local_addr, u16_t local_port, const ip_addr_t *remote_addr, u16_t remote_port, u32_t bytes_transferred, u32_t ms_duration, u32_t bandwidth_kbitpsec)

## Enumerations

enum | lwiperf_report_type { LWIPERF_TCP_DONE_SERVER, LWIPERF_TCP_DONE_CLIENT, LWIPERF_TCP_ABORTED_LOCAL, LWIPERF_TCP_ABORTED_LOCAL_DATAERROR, LWIPERF_TCP_ABORTED_LOCAL_TXERROR, LWIPERF_TCP_ABORTED_REMOTE }
enum | lwiperf_client_type { LWIPERF_CLIENT, LWIPERF_DUAL, LWIPERF_TRADEOFF }

## Functions

void * | lwiperf_start_tcp_server (const ip_addr_t *local_addr, u16_t local_port, lwiperf_report_fn report_fn, void *report_arg)
void * | lwiperf_start_tcp_server_default (lwiperf_report_fn report_fn, void *report_arg)
void * | lwiperf_start_tcp_client (const ip_addr_t *remote_addr, u16_t remote_port, enum lwiperf_client_type type, lwiperf_report_fn report_fn, void *report_arg)
void * | lwiperf_start_tcp_client_default (const ip_addr_t *remote_addr, lwiperf_report_fn report_fn, void *report_arg)
void | lwiperf_abort (void *lwiperf_session)

## Detailed Description

lwIP iPerf server implementation

## Typedef Documentation

## lwiperf_report_fn

typedef void(* lwiperf_report_fn) (void *arg, enum lwiperf_report_type report_type, const ip_addr_t *local_addr, u16_t local_port, const ip_addr_t *remote_addr, u16_t remote_port, u32_t bytes_transferred, u32_t ms_duration, u32_t bandwidth_kbitpsec)

Prototype of a report function that is called when a session is finished. This report function can show the test results.

Parameters

  arg | Report_arg from when the test was started.
  report_type | contains the test result
  local_addr | The local address from the session
  local_port | The local port
  remote_addr | The remote address from the session
  remote_port | The remote port
  bytes_transferred | Total transferred bytes
  ms_duration | Total session duration, in milliseconds
  bandwidth_kbitpsec | Average bandwidth during the session, in kbps

## Enumeration Type Documentation

## lwiperf_client_type

enum lwiperf_client_type

Control

Enumerator
LWIPERF_CLIENT | Unidirectional tx only test
LWIPERF_DUAL | Do a bidirectional test simultaneously
LWIPERF_TRADEOFF | Do a bidirectional test individually

## lwiperf_report_type

enum lwiperf_report_type

lwIPerf test results

Enumerator
LWIPERF_TCP_DONE_SERVER | The server side test is done
LWIPERF_TCP_DONE_CLIENT | The client side test is done
LWIPERF_TCP_ABORTED_LOCAL | Local error lead to test abort
LWIPERF_TCP_ABORTED_LOCAL_DATAERROR | Data check error lead to test abort
LWIPERF_TCP_ABORTED_LOCAL_TXERROR | Transmit error lead to test abort
LWIPERF_TCP_ABORTED_REMOTE | Remote side aborted the test