-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathudp.h
31 lines (22 loc) · 852 Bytes
/
udp.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright (c) 2021 Bjørn Brodtkorb
#ifndef UDP_H
#define UDP_H
#include "utilities.h"
#include "network.h"
//--------------------------------------------------------------------------------------------------
typedef struct {
Port port;
List packet_queue;
int packet_count;
int max_packet_count;
ListNode list_node;
} UdpConnection;
//--------------------------------------------------------------------------------------------------
void udp_init();
void udp_send(const void* data, int size, Port source_port, Port dest_port, Ip ip);
void udp_send_zero_copy(NetworkPacket* packet, Port source_port, Port dest_port, Ip ip);
void udp_listen(Port port, int max_packet_count);
int udp_receive(void* data, int size, Port port);
NetworkPacket* udp_receive_zero_copy(Port port);
void handle_udp(NetworkPacket* packet);
#endif