Orxonox  0.0.5 Codename: Arcturus
enet.h
Go to the documentation of this file.
1 
5 #ifndef __ENET_ENET_H__
6 #define __ENET_ENET_H__
7 
8 #ifdef __cplusplus
9 extern "C"
10 {
11 #endif
12 
13 #include <stdlib.h>
14 
15 #ifdef WIN32
16 #include "enet/win32.h"
17 #else
18 #include "enet/unix.h"
19 #endif
20 
21 #include "enet/types.h"
22 #include "enet/protocol.h"
23 #include "enet/list.h"
24 #include "enet/callbacks.h"
25 
26 #define ENET_VERSION_MAJOR 1
27 #define ENET_VERSION_MINOR 3
28 #define ENET_VERSION_PATCH 1
29 #define ENET_VERSION_CREATE(major, minor, patch) (((major)<<16) | ((minor)<<8) | (patch))
30 #define ENET_VERSION ENET_VERSION_CREATE(ENET_VERSION_MAJOR, ENET_VERSION_MINOR, ENET_VERSION_PATCH)
31 
33 
34 typedef enum _ENetSocketType
35 {
39 
40 typedef enum _ENetSocketWait
41 {
46 
47 typedef enum _ENetSocketOption
48 {
55 
56 typedef struct _ENetHostAddress
57 {
60 
61 #define ENET_HOST_ANY_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }
62 static const ENetHostAddress ENET_HOST_ANY = ENET_HOST_ANY_INIT;
63 #define ENET_IPV4MAPPED_PREFIX_INIT { { 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0 } }
64 static const ENetHostAddress ENET_IPV4MAPPED_PREFIX = ENET_IPV4MAPPED_PREFIX_INIT;
65 #define ENET_HOST_BROADCAST_INIT { { 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0xff,0xff,0xff,0xff } }
66 static const ENetHostAddress ENET_HOST_BROADCAST = ENET_HOST_BROADCAST_INIT;
67 enum {
70 };
71 
82 typedef struct _ENetAddress
83 {
85 #ifdef WIN32
86  u_long scopeID;
87 #else
88  uint32_t scopeID;
89 #endif
91 } ENetAddress;
92 
96 typedef enum _ENetAddressFamily
97 {
99  ENET_IPV4 = (1 << 0),
100  ENET_IPV6 = (1 << 1)
102 
112 typedef enum _ENetPacketFlag
113 {
124 
125 struct _ENetPacket;
126 typedef void (ENET_CALLBACK * ENetPacketFreeCallback) (struct _ENetPacket *);
127 
147 typedef struct _ENetPacket
148 {
149  size_t referenceCount;
152  size_t dataLength;
153  ENetPacketFreeCallback freeCallback;
154 } ENetPacket;
155 
156 typedef struct _ENetAcknowledgement
157 {
162 
163 typedef struct _ENetOutgoingCommand
164 {
177 
178 typedef struct _ENetIncomingCommand
179 {
189 
190 typedef enum _ENetPeerState
191 {
202 } ENetPeerState;
203 
204 #ifndef ENET_BUFFER_MAXIMUM
205 #define ENET_BUFFER_MAXIMUM (1 + 2 * ENET_PROTOCOL_MAXIMUM_PACKET_COMMANDS)
206 #endif
207 
208 enum
209 {
214 
235 };
236 
237 typedef struct _ENetChannel
238 {
246 } ENetChannel;
247 
253 typedef struct _ENetPeer
254 {
256  struct _ENetHost * host;
263  void * data;
266  size_t channelCount;
310 } ENetPeer;
311 
314 typedef struct _ENetCompressor
315 {
317  void * context;
319  size_t (ENET_CALLBACK * compress) (void * context, const ENetBuffer * inBuffers, size_t inBufferCount, size_t inLimit, enet_uint8 * outData, size_t outLimit);
321  size_t (ENET_CALLBACK * decompress) (void * context, const enet_uint8 * inData, size_t inLimit, enet_uint8 * outData, size_t outLimit);
323  void (ENET_CALLBACK * destroy) (void * context);
325 
327 typedef enet_uint32 (ENET_CALLBACK * ENetChecksumCallback) (const ENetBuffer * buffers, size_t bufferCount);
328 
345 typedef struct _ENetHost
346 {
357  size_t peerCount;
358  size_t channelLimit;
362  size_t packetSize;
365  size_t commandCount;
367  size_t bufferCount;
368  ENetChecksumCallback checksum;
378 } ENetHost;
379 
383 typedef enum _ENetEventType
384 {
387 
392 
401 
409 } ENetEventType;
410 
416 typedef struct _ENetEvent
417 {
423 } ENetEvent;
424 
434 ENET_API int enet_initialize (void);
435 
443 ENET_API int enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits);
444 
449 ENET_API void enet_deinitialize (void);
450 
464 
479 
493 ENET_API int enet_address_set_host (ENetAddress * address, const char * hostName);
494 
503 ENET_API int enet_address_get_host_ip (const ENetAddress * address, char * hostName, size_t nameLength);
504 
513 ENET_API int enet_address_get_host (const ENetAddress * address, char * hostName, size_t nameLength);
514 
520 
526 
529 ENET_API ENetPacket * enet_packet_create (const void *, size_t, enet_uint32);
531 ENET_API int enet_packet_resize (ENetPacket *, size_t);
532 extern enet_uint32 enet_crc32 (const ENetBuffer *, size_t);
533 
543 ENET_API void enet_host_channel_limit (ENetHost *, size_t);
545 extern void enet_host_bandwidth_throttle (ENetHost *);
546 
555 extern int enet_peer_throttle (ENetPeer *, enet_uint32);
556 extern void enet_peer_reset_queues (ENetPeer *);
563 
564 ENET_API void * enet_range_coder_create (void);
565 ENET_API void enet_range_coder_destroy (void *);
566 ENET_API size_t enet_range_coder_compress (void *, const ENetBuffer *, size_t, size_t, enet_uint8 *, size_t);
567 ENET_API size_t enet_range_coder_decompress (void *, const enet_uint8 *, size_t, enet_uint8 *, size_t);
568 
569 extern size_t enet_protocol_command_size (enet_uint8);
570 
571 #ifdef __cplusplus
572 }
573 #endif
574 
575 #endif /* __ENET_ENET_H__ */
576 
ENET_API void enet_host_flush(ENetHost *)
Sends any queued packets on the host specified to its designated peers.
Definition: protocol.c:1575
enet_uint32 windowSize
Definition: enet.h:296
Portable internet address structure.
Definition: enet.h:82
enet_uint32 lastSendTime
Definition: enet.h:273
ENetList sentReliableCommands
Definition: enet.h:300
type definitions for ENet
ENET_API void enet_socket_destroy(ENetSocket)
Definition: unix.c:299
Definition: list.h:10
int enet_peer_throttle(ENetPeer *, enet_uint32)
Definition: peer.c:62
Definition: callbacks.h:10
_ENetSocketType
Definition: enet.h:34
ENetList outgoingReliableCommands
Definition: enet.h:302
_ENetSocketWait
Definition: enet.h:40
ENetPeer * peers
array of peers allocated for this host
Definition: enet.h:356
ENET_API int enet_socket_bind(ENetSocket, const ENetAddress *, ENetAddressFamily)
Definition: unix.c:192
enet_uint16 reliableSequenceNumber
Definition: enet.h:166
enet_uint32 packetLossVariance
Definition: enet.h:281
ENET_API int enet_socket_set_option(ENetSocket, ENetSocketOption, int)
Definition: unix.c:232
Definition: enet.h:44
static void version(void)
Definition: tolua.c:58
Definition: enet.h:237
size_t peerCount
number of peers allocated for this host
Definition: enet.h:357
enet_uint32 totalSentData
total data sent, user should reset to 0 as needed to prevent overflow
Definition: enet.h:374
enet_uint32 outgoingBandwidth
upstream bandwidth of the host
Definition: enet.h:351
Definition: enet.h:228
Definition: enet.h:218
ENET_API enet_uint32 enet_time_get(void)
Returns the wall-time in milliseconds.
Definition: unix.c:55
enet_uint32 lowestRoundTripTime
Definition: enet.h:290
Definition: enet.h:211
ENetCompressor compressor
Definition: enet.h:369
enet_uint16 port
Definition: enet.h:90
ENET_API int enet_host_check_events(ENetHost *, ENetEvent *)
Checks for any queued events on the host and dispatches one if available.
Definition: protocol.c:1592
size_t referenceCount
internal use only
Definition: enet.h:149
ENetList dispatchedCommands
Definition: enet.h:304
ENET_API int enet_host_compress_with_range_coder(ENetHost *host)
Sets the packet compressor the host should use to the default range coder.
Definition: compress.c:638
ENetHostAddress host
Definition: enet.h:84
enet_uint32 packetThrottleLimit
Definition: enet.h:283
size_t enet_protocol_command_size(enet_uint8)
Definition: protocol.c:45
ENET_API int enet_socket_send(ENetSocket, const ENetAddress *, const ENetBuffer *, size_t, ENetAddressFamily)
Definition: unix.c:305
ENET_API size_t enet_range_coder_compress(void *, const ENetBuffer *, size_t, size_t, enet_uint8 *, size_t)
Definition: compress.c:247
ENetListNode acknowledgementList
Definition: enet.h:158
ENetSocket socket6
Definition: enet.h:348
ENetPacket * packet
Definition: enet.h:175
enet_uint16 reliableSequenceNumber
Definition: enet.h:181
enet_uint16 outgoingReliableSequenceNumber
Definition: enet.h:298
packet must be received by the target peer and resend attempts should be made until the packet is del...
Definition: enet.h:116
enet_uint32 totalReceivedPackets
total UDP packets received, user should reset to 0 as needed to prevent overflow
Definition: enet.h:377
size_t packetSize
Definition: enet.h:362
Definition: enet.h:224
enet_uint8 outgoingSessionID
Definition: enet.h:260
ENetList outgoingUnreliableCommands
Definition: enet.h:303
Definition: enet.h:222
enet_uint32 connectID
Definition: enet.h:259
ENetIncomingCommand * enet_peer_queue_incoming_command(ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32)
Definition: peer.c:656
_ENetSocketOption
Definition: enet.h:47
enum _ENetSocketOption ENetSocketOption
Definition: enet.h:51
_ENetPeerState
Definition: enet.h:190
enet_uint32 packetThrottle
Definition: enet.h:282
ENET_API void enet_peer_disconnect_later(ENetPeer *, enet_uint32)
Request a disconnection from a peer, but only after all queued outgoing packets are sent...
Definition: peer.c:474
specifies the length of the IPv4-mapped IPv6 prefix
Definition: enet.h:68
unsigned int enet_uint32
unsigned 32-bit type
Definition: types.h:10
enet_uint32 roundTripTimeout
Definition: enet.h:169
ENET_API ENetPeer * enet_host_connect(ENetHost *, const ENetAddress *, size_t, enet_uint32)
Initiates a connection to a foreign host.
Definition: host.c:191
enet_uint32 packetLoss
mean packet loss of reliable packets as a ratio with respect to the constant ENET_PEER_PACKET_LOSS_SC...
Definition: enet.h:280
specifies that a port should be automatically chosen
Definition: enet.h:69
packet will not be sequenced with other packets not supported for reliable packets ...
Definition: enet.h:120
Definition: enet.h:37
enet_uint32 reliableDataInTransit
Definition: enet.h:297
enet_uint32 roundTripTimeoutLimit
Definition: enet.h:170
a packet has been received from a peer.
Definition: enet.h:408
#define ENET_API
Definition: unix.h:35
ENET_API void enet_peer_ping(ENetPeer *)
Sends a ping request to a peer.
Definition: peer.c:383
ENET_API void enet_host_destroy(ENetHost *)
Destroys the host and all resources associated with it.
Definition: host.c:158
enum _ENetSocketType ENetSocketType
Definition: protocol.h:13
enet_uint32 incomingDataTotal
Definition: enet.h:271
enet_uint32 totalSentPackets
total UDP packets sent, user should reset to 0 as needed to prevent overflow
Definition: enet.h:375
struct _ENetPacket ENetPacket
ENet packet structure.
enet_uint32 roundTripTimeVariance
Definition: enet.h:294
An ENet host for communicating with peers.
Definition: enet.h:345
ENetAddress address
Internet address of the peer.
Definition: enet.h:262
enet_uint16 fragmentLength
Definition: enet.h:172
ENetAcknowledgement * enet_peer_queue_acknowledgement(ENetPeer *, const ENetProtocol *, enet_uint16)
Definition: peer.c:489
enet_uint16 incomingReliableSequenceNumber
Definition: enet.h:243
ENetPeer * peer
peer that generated a connect, disconnect or receive event
Definition: enet.h:419
ENet protocol.
ENetAddress receivedAddress
Definition: enet.h:371
enet_uint8 channelID
channel on the peer that generated the event, if appropriate
Definition: enet.h:420
ENetListNode dispatchList
Definition: enet.h:255
Definition: enet.h:100
Definition: enet.h:199
struct _ENetChannel ENetChannel
ENET_API int enet_host_service(ENetHost *, ENetEvent *, enet_uint32)
Waits for events on the host specified and shuttles packets between the host and its peers...
Definition: protocol.c:1617
enet_uint32 serviceTime
Definition: enet.h:359
Definition: enet.h:213
struct _ENetIncomingCommand ENetIncomingCommand
ENET_API ENetSocket enet_socket_accept(ENetSocket, ENetAddress *, ENetAddressFamily)
Definition: unix.c:277
enet_uint32 mtu
Definition: enet.h:353
enet_uint32 sentTime
Definition: enet.h:159
int ENetSocket
Definition: unix.h:14
enet_uint32 fragmentsRemaining
Definition: enet.h:185
typedef void(ENET_CALLBACK *ENetPacketFreeCallback)(struct _ENetPacket *)
Definition: enet.h:193
Definition: enet.h:229
enum _ENetPeerState ENetPeerState
struct _ENetHost * host
Definition: enet.h:256
ENetPacket * packet
packet associated with the event, if appropriate
Definition: enet.h:422
ENET_API ENetPacket * enet_peer_receive(ENetPeer *, enet_uint8 *channelID)
Attempts to dequeue any incoming queued packet.
Definition: peer.c:213
void * context
Context data for the compressor.
Definition: enet.h:317
ENET_API int enet_socket_receive(ENetSocket, ENetAddress *, ENetBuffer *, size_t, ENetAddressFamily)
Definition: unix.c:341
ENET_API void enet_packet_destroy(ENetPacket *)
Destroys the packet and deallocates its data.
Definition: packet.c:53
Definition: enet.h:156
enet_uint32 packetThrottleCounter
Definition: enet.h:284
Definition: enet.h:198
packet will not allocate data, and user must supply it instead
Definition: enet.h:122
ENetProtocol command
Definition: enet.h:174
ENetOutgoingCommand * enet_peer_queue_outgoing_command(ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32, enet_uint16)
Definition: peer.c:572
void enet_peer_dispatch_incoming_reliable_commands(ENetPeer *, ENetChannel *)
Definition: peer.c:620
ENET_API void enet_host_broadcast(ENetHost *, enet_uint8, ENetPacket *)
Queues a packet to be sent to all peers associated with the host.
Definition: host.c:277
ENetList acknowledgements
Definition: enet.h:299
enum _ENetEventType ENetEventType
An ENet event type, as specified in ENetEvent.
ENET_API void enet_peer_disconnect(ENetPeer *, enet_uint32)
Request a disconnection from a peer.
Definition: peer.c:435
enet_uint32 lastRoundTripTime
Definition: enet.h:289
ENET_API int enet_address_set_host(ENetAddress *address, const char *hostName)
Attempts to resolve the host named by the parameter hostName and sets the host field in the address p...
Definition: unix.c:140
enum _ENetAddressFamily ENetAddressFamily
The address family type.
An ENet event as returned by enet_host_service().
Definition: enet.h:416
enet_uint32 outgoingBandwidth
Upstream bandwidth of the client in bytes/second.
Definition: enet.h:268
int needsDispatch
Definition: enet.h:305
enet_uint32 fragmentOffset
Definition: enet.h:171
enet_uint16 outgoingPeerID
Definition: enet.h:257
uint32_t scopeID
Definition: enet.h:88
enet_uint32 earliestTimeout
Definition: enet.h:276
enet_uint32 eventData
Definition: enet.h:309
An ENet peer which data packets may be sent or received from.
Definition: enet.h:253
ENET_API int enet_socket_connect(ENetSocket, const ENetAddress *, ENetAddressFamily)
Definition: unix.c:268
enet_uint32 flags
bitwise-or of ENetPacketFlag constants
Definition: enet.h:150
ENET_API int enet_initialize_with_callbacks(ENetVersion version, const ENetCallbacks *inits)
Initializes ENet globally and supplies user-overridden callbacks.
Definition: callbacks.c:11
enet_uint16 headerFlags
Definition: enet.h:363
enet_uint16 outgoingUnreliableSequenceNumber
Definition: enet.h:240
enet_uint32 packetThrottleDeceleration
Definition: enet.h:287
enet_uint32 packetThrottleInterval
Definition: enet.h:288
enet_uint32 packetThrottleEpoch
Definition: enet.h:285
ENet list management.
struct _ENetCompressor ENetCompressor
An ENet packet compressor for compressing UDP packets before socket sends or receives.
size_t commandCount
Definition: enet.h:365
size_t dataLength
length of data
Definition: enet.h:152
ENET_API int enet_socketset_select(ENetSocket, ENetSocketSet *, ENetSocketSet *, enet_uint32)
Definition: unix.c:386
#define ENET_CALLBACK
Definition: unix.h:33
struct _ENetPeer ENetPeer
An ENet peer which data packets may be sent or received from.
const enet_uint8 size_t enet_uint8 size_t outLimit
Definition: enet.h:321
enum _ENetPacketFlag ENetPacketFlag
Packet flag bit constants.
unsigned short enet_uint16
unsigned 16-bit type
Definition: types.h:9
Definition: enet.h:163
Definition: enet.h:36
ENetList dispatchQueue
Definition: enet.h:360
const ENetBuffer size_t size_t enet_uint8 size_t outLimit
Definition: enet.h:319
Definition: enet.h:234
enet_uint16 sendAttempts
Definition: enet.h:173
enet_uint32 ENetVersion
Definition: enet.h:32
ENetListNode outgoingCommandList
Definition: enet.h:165
ENET_API int enet_address_get_host(const ENetAddress *address, char *hostName, size_t nameLength)
Attempts to do a reverse lookup of the host field in the address parameter.
Definition: unix.c:186
enet_uint32 packetsLost
Definition: enet.h:279
enet_uint16 outgoingUnsequencedGroup
Definition: enet.h:307
ENET_API void enet_host_bandwidth_limit(ENetHost *, enet_uint32, enet_uint32)
Adjusts the bandwidth limits of a host.
Definition: host.c:336
unsigned char enet_uint8
unsigned 8-bit type
Definition: types.h:8
#define ENET_BUFFER_MAXIMUM
Definition: enet.h:205
ENET_API ENetHost * enet_host_create(const ENetAddress *, size_t, size_t, enet_uint32, enet_uint32)
Creates a host for communicating to peers.
Definition: host.c:54
enet_uint32 packetThrottleAcceleration
Definition: enet.h:286
ENetProtocol command
Definition: enet.h:160
enet_uint8 addr[16]
Definition: enet.h:58
ENET_API void enet_deinitialize(void)
Shuts down ENet globally.
Definition: unix.c:50
ENetList sentUnreliableCommands
Definition: enet.h:301
Definition: enet.h:223
enum _ENetSocketWait ENetSocketWait
struct _ENetAddress ENetAddress
Portable internet address structure.
enet_uint32 incomingBandwidthThrottleEpoch
Definition: enet.h:269
ENET_API int enet_address_get_host_ip(const ENetAddress *address, char *hostName, size_t nameLength)
Gives the printable form of the ip address specified in the address parameter.
Definition: unix.c:180
enet_uint32 totalReceivedData
total data received, user should reset to 0 as needed to prevent overflow
Definition: enet.h:376
enet_uint16 unreliableSequenceNumber
Definition: enet.h:182
enet_uint32 sentTime
Definition: enet.h:168
ENET_API void enet_range_coder_destroy(void *)
Definition: compress.c:59
enet_uint32 highestRoundTripTimeVariance
Definition: enet.h:292
ENetEventType type
type of the event
Definition: enet.h:418
Definition: enet.h:230
void * data
Application private data, may be freely modified.
Definition: enet.h:263
enet_uint32 roundTripTime
mean round trip time (RTT), in milliseconds, between sending a reliable packet and receiving its ackn...
Definition: enet.h:293
Definition: unix.h:27
Definition: protocol.h:175
Definition: enet.h:98
enet_uint8 incomingSessionID
Definition: enet.h:261
struct _ENetHost ENetHost
An ENet host for communicating with peers.
ENetList incomingUnreliableCommands
Definition: enet.h:245
ENET_API void enet_host_channel_limit(ENetHost *, size_t)
Limits the maximum allowed channels of future incoming connections.
Definition: host.c:316
struct _ENetAcknowledgement ENetAcknowledgement
enet_uint32 incomingBandwidth
downstream bandwidth of the host
Definition: enet.h:350
size_t bufferCount
Definition: enet.h:367
enet_uint32 data
data associated with the event, if appropriate
Definition: enet.h:421
ENET_API int enet_packet_resize(ENetPacket *, size_t)
Attempts to resize the data in the packet to length specified in the dataLength parameter.
Definition: packet.c:69
Definition: enet.h:53
ENET_API ENetSocket enet_socket_create(ENetSocketType, ENetAddressFamily)
Definition: unix.c:216
size_t channelLimit
maximum number of channels allowed for connected peers
Definition: enet.h:358
ENET_API ENetPacket * enet_packet_create(const void *, size_t, enet_uint32)
Creates a packet that may be sent to a peer.
Definition: packet.c:20
Definition: enet.h:178
Definition: enet.h:49
struct _ENetEvent ENetEvent
An ENet event as returned by enet_host_service().
ENET_API void enet_time_set(enet_uint32)
Sets the current wall-time in milliseconds.
Definition: unix.c:65
Definition: enet.h:226
fd_set ENetSocketSet
Definition: unix.h:37
ENET_API void enet_host_compress(ENetHost *, const ENetCompressor *)
Sets the packet compressor the host should use to compress and decompress packets.
Definition: host.c:300
size_t receivedDataLength
Definition: enet.h:373
enet_uint32 incomingBandwidth
Downstream bandwidth of the client in bytes/second.
Definition: enet.h:267
enet_uint8 * data
allocated data for packet
Definition: enet.h:151
ENetPacketFreeCallback freeCallback
function to be called when the packet is no longer in use
Definition: enet.h:153
enet_uint32 lastReceiveTime
Definition: enet.h:274
ENET_API size_t enet_range_coder_decompress(void *, const enet_uint8 *, size_t, enet_uint8 *, size_t)
Definition: compress.c:499
_ENetAddressFamily
The address family type.
Definition: enet.h:96
enet_uint32 outgoingDataTotal
Definition: enet.h:272
enet_uint16 incomingPeerID
Definition: enet.h:258
enet_uint32 lastRoundTripTimeVariance
Definition: enet.h:291
An ENet packet compressor for compressing UDP packets before socket sends or receives.
Definition: enet.h:314
ENetAddress address
Internet address of the host.
Definition: enet.h:349
ENetChecksumCallback checksum
callback the user can set to enable packet checksums for this host
Definition: enet.h:368
enet_uint32 fragmentCount
Definition: enet.h:184
Definition: enet.h:197
struct _ENetHostAddress ENetHostAddress
ENet Unix header.
Definition: enet.h:210
enet_uint16 incomingUnsequencedGroup
Definition: enet.h:306
enet_uint16 usedReliableWindows
Definition: enet.h:241
struct _ENetOutgoingCommand ENetOutgoingCommand
Definition: enet.h:233
ENET_API int enet_peer_send(ENetPeer *, enet_uint8, ENetPacket *)
Queues a packet to be sent.
Definition: peer.c:100
void enet_peer_reset_queues(ENetPeer *)
Definition: peer.c:284
Definition: enet.h:42
enet_uint16 unreliableSequenceNumber
Definition: enet.h:167
int recalculateBandwidthLimits
Definition: enet.h:355
enet_uint32 enet_crc32(const ENetBuffer *, size_t)
Definition: packet.c:135
ENET_API int enet_socket_wait(ENetSocket, ENetSocket, enet_uint32 *, enet_uint32)
Definition: unix.c:397
void enet_peer_dispatch_incoming_unreliable_commands(ENetPeer *, ENetChannel *)
Definition: peer.c:591
ENET_API void enet_peer_throttle_configure(ENetPeer *, enet_uint32, enet_uint32, enet_uint32)
Configures throttle parameter for a peer.
Definition: peer.c:43
enet_uint32 packetLossEpoch
Definition: enet.h:277
enet_uint32 randomSeed
Definition: enet.h:354
enet_uint32 nextTimeout
Definition: enet.h:275
Definition: enet.h:99
enet_uint16 outgoingReliableSequenceNumber
Definition: enet.h:239
ENetPacket * packet
Definition: enet.h:187
ENET_API void enet_peer_disconnect_now(ENetPeer *, enet_uint32)
Force an immediate disconnection from a peer.
Definition: peer.c:404
enet_uint8 * receivedData
Definition: enet.h:372
enet_uint32 mtu
Definition: enet.h:295
a peer has disconnected.
Definition: enet.h:400
typedef enet_uint32(ENET_CALLBACK *ENetChecksumCallback)(const ENetBuffer *buffers
Callback that computes the checksum of the data held in buffers[0:bufferCount-1]. ...
Definition: enet.h:50
a connection request initiated by enet_host_connect has completed.
Definition: enet.h:391
enet_uint32 bandwidthThrottleEpoch
Definition: enet.h:352
ENET_API void * enet_range_coder_create(void)
Definition: compress.c:49
enet_uint32 outgoingBandwidthThrottleEpoch
Definition: enet.h:270
ENET_API ENetHostAddress enet_address_map4(enet_uint32 address)
Maps an IPv4 Address to an IPv6 address.
Definition: protocol.c:29
ENetList incomingReliableCommands
Definition: enet.h:244
ENET_API int enet_initialize(void)
Initializes ENet globally.
Definition: unix.c:44
ENetChannel * channels
Definition: enet.h:265
ENetListNode incomingCommandList
Definition: enet.h:180
ENET_API void enet_peer_reset(ENetPeer *)
Forcefully disconnects a peer.
Definition: peer.c:327
Definition: enet.h:232
Definition: enet.h:225
no event occurred within the specified time limit
Definition: enet.h:386
_ENetEventType
An ENet event type, as specified in ENetEvent.
Definition: enet.h:383
_ENetPacketFlag
Packet flag bit constants.
Definition: enet.h:112
Definition: enet.h:201
Definition: enet.h:215
Definition: protocol.h:14
ENet callbacks.
Definition: enet.h:43
enet_uint32 * fragments
Definition: enet.h:186
ENetSocket socket4
Definition: enet.h:347
int continueSending
Definition: enet.h:361
ENet Win32 header.
ENetPeerState state
Definition: enet.h:264
void enet_host_bandwidth_throttle(ENetHost *)
Definition: host.c:344
void enet_peer_setup_outgoing_command(ENetPeer *, ENetOutgoingCommand *)
Definition: peer.c:521
ENET_API ENetAddressFamily enet_get_address_family(const ENetAddress *address)
Returns the Address family of an (IPv4-mapped) IPv6 address.
Definition: protocol.c:37
Definition: enet.h:217
Definition: enet.h:52
enet_uint32 packetsSent
Definition: enet.h:278
size_t channelCount
Number of channels allocated for communication with peer.
Definition: enet.h:266
Definition: enet.h:192
size_t bufferCount
Definition: enet.h:327
Definition: enet.h:227
Definition: enet.h:216
Definition: list.h:18
ENET_API int enet_socket_listen(ENetSocket, int)
Definition: unix.c:210
ENet packet structure.
Definition: enet.h:147
ENetProtocol command
Definition: enet.h:183
Definition: enet.h:56