Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
zperf.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016 Intel Corporation
3 * Copyright (c) 2022 Nordic Semiconductor ASA
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
17#ifndef ZEPHYR_INCLUDE_NET_ZPERF_H_
18#define ZEPHYR_INCLUDE_NET_ZPERF_H_
19
20#include <zephyr/net/net_ip.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
30} __packed;
31
37 struct {
42};
43
46 struct sockaddr addr;
47};
48
60};
61
69typedef void (*zperf_callback)(enum zperf_status status,
70 struct zperf_results *result,
71 void *user_data);
72
82int zperf_udp_upload(const struct zperf_upload_params *param,
83 struct zperf_results *result);
84
94int zperf_tcp_upload(const struct zperf_upload_params *param,
95 struct zperf_results *result);
96
110 zperf_callback callback, void *user_data);
111
125 zperf_callback callback, void *user_data);
126
139 zperf_callback callback, void *user_data);
140
153 zperf_callback callback, void *user_data);
154
161
168
169#ifdef __cplusplus
170}
171#endif
172
177#endif /* ZEPHYR_INCLUDE_NET_ZPERF_H_ */
zperf_status
Definition: zperf.h:26
int zperf_tcp_upload_async(const struct zperf_upload_params *param, zperf_callback callback, void *user_data)
Asynchronous TCP upload operation.
int zperf_tcp_upload(const struct zperf_upload_params *param, struct zperf_results *result)
Synchronous TCP upload operation.
int zperf_udp_download_stop(void)
Stop UDP server.
int zperf_udp_upload(const struct zperf_upload_params *param, struct zperf_results *result)
Synchronous UDP upload operation.
int zperf_tcp_download(const struct zperf_download_params *param, zperf_callback callback, void *user_data)
Start TCP server.
int zperf_udp_download(const struct zperf_download_params *param, zperf_callback callback, void *user_data)
Start UDP server.
int zperf_tcp_download_stop(void)
Stop TCP server.
int zperf_udp_upload_async(const struct zperf_upload_params *param, zperf_callback callback, void *user_data)
Asynchronous UDP upload operation.
void(* zperf_callback)(enum zperf_status status, struct zperf_results *result, void *user_data)
Zperf callback function used for asynchronous operations.
Definition: zperf.h:69
@ ZPERF_SESSION_FINISHED
Definition: zperf.h:28
@ ZPERF_SESSION_ERROR
Definition: zperf.h:29
@ ZPERF_SESSION_STARTED
Definition: zperf.h:27
IPv6 and IPv4 definitions.
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
Generic sockaddr struct.
Definition: net_ip.h:347
Definition: zperf.h:44
uint16_t port
Definition: zperf.h:45
struct sockaddr addr
Definition: zperf.h:46
Definition: zperf.h:49
uint32_t time_in_us
Definition: zperf.h:55
uint32_t nb_packets_errors
Definition: zperf.h:59
uint32_t packet_size
Definition: zperf.h:58
uint32_t nb_packets_outorder
Definition: zperf.h:53
uint32_t nb_packets_lost
Definition: zperf.h:52
uint32_t nb_packets_rcvd
Definition: zperf.h:51
uint32_t client_time_in_us
Definition: zperf.h:57
uint32_t total_len
Definition: zperf.h:54
uint32_t nb_packets_sent
Definition: zperf.h:50
uint32_t jitter_in_us
Definition: zperf.h:56
Definition: zperf.h:32
int tcp_nodelay
Definition: zperf.h:39
uint16_t packet_size
Definition: zperf.h:36
struct sockaddr peer_addr
Definition: zperf.h:33
int priority
Definition: zperf.h:40
uint32_t rate_kbps
Definition: zperf.h:35
struct zperf_upload_params::@329 options
uint32_t duration_ms
Definition: zperf.h:34
uint8_t tos
Definition: zperf.h:38