PicoW_UDP_Lib/PicoW_UDP.h

46 lines
1.0 KiB
C

#ifndef _PICOW_UDP_H
#define _PICOW_UDP_H
#include <lwip/udp.h>
#include "Config.h"
struct udp_server_t {
struct udp_pcb *pcb;
};
struct udp_client_t {
struct udp_pcb *pcb;
uint8_t data[UDP_CLIENT_DATA_LEN];
};
/**
* @brief Init an udp server with Config.h parameters.
*
* @param udp_server Pointer to the pre allocated udp_server_t to init
*/
int udp_server_init(struct udp_server_t *udp_server);
/**
* @brief Exit an udp server.
*
* @param udp_server Pointer to the udp_server_t to exit
*/
void udp_server_exit(struct udp_server_t *udp_server);
/**
* @brief Send message on an udp server.
*
* @param udp_server Pointer to the udp server to send with
* @param data Pointer to the data to send
* @param len Length of the message to send in bytes
*/
int udp_server_send(struct udp_server_t *udp_server, void *data, uint16_t len);
/**
* @brief
*/
int udp_client_init(struct udp_client_t *udp_client, udp_recv_fn callback);
void udp_client_exit(struct udp_client_t *udp_client);
#endif // _PICOW_UDP_H