enet
|
ENet public header file. More...
#include <stdlib.h>
#include "enet/unix.h"
#include "enet/types.h"
#include "enet/protocol.h"
#include "enet/list.h"
#include "enet/callbacks.h"
Go to the source code of this file.
Data Structures | |
struct | _ENetAddress |
Portable internet address structure. More... | |
struct | _ENetPacket |
ENet packet structure. More... | |
struct | _ENetAcknowledgement |
struct | _ENetOutgoingCommand |
struct | _ENetIncomingCommand |
struct | _ENetChannel |
struct | _ENetPeer |
An ENet peer which data packets may be sent or received from. More... | |
struct | _ENetCompressor |
An ENet packet compressor for compressing UDP packets before socket sends or receives. More... | |
struct | _ENetHost |
An ENet host for communicating with peers. More... | |
struct | _ENetEvent |
An ENet event as returned by enet_host_service(). More... |
Typedefs | |
typedef enet_uint32 | ENetVersion |
typedef enum _ENetSocketType | ENetSocketType |
typedef enum _ENetSocketWait | ENetSocketWait |
typedef enum _ENetSocketOption | ENetSocketOption |
typedef enum _ENetSocketShutdown | ENetSocketShutdown |
typedef struct _ENetAddress | ENetAddress |
Portable internet address structure. | |
typedef enum _ENetPacketFlag | ENetPacketFlag |
Packet flag bit constants. | |
typedef struct _ENetPacket | ENetPacket |
ENet packet structure. | |
typedef struct _ENetAcknowledgement | ENetAcknowledgement |
typedef struct _ENetOutgoingCommand | ENetOutgoingCommand |
typedef struct _ENetIncomingCommand | ENetIncomingCommand |
typedef enum _ENetPeerState | ENetPeerState |
typedef struct _ENetChannel | ENetChannel |
typedef struct _ENetPeer | ENetPeer |
An ENet peer which data packets may be sent or received from. | |
typedef struct _ENetCompressor | ENetCompressor |
An ENet packet compressor for compressing UDP packets before socket sends or receives. | |
typedef size_t | bufferCount |
typedef struct _ENetEvent * | event |
typedef struct _ENetHost | ENetHost |
An ENet host for communicating with peers. | |
typedef enum _ENetEventType | ENetEventType |
An ENet event type, as specified in ENetEvent. | |
typedef struct _ENetEvent | ENetEvent |
An ENet event as returned by enet_host_service(). |
Enumerations | |
enum | _ENetSocketType { ENET_SOCKET_TYPE_STREAM = 1, ENET_SOCKET_TYPE_DATAGRAM = 2 } |
enum | _ENetSocketWait { ENET_SOCKET_WAIT_NONE = 0, ENET_SOCKET_WAIT_SEND = (1 << 0), ENET_SOCKET_WAIT_RECEIVE = (1 << 1) } |
enum | _ENetSocketOption { ENET_SOCKOPT_NONBLOCK = 1, ENET_SOCKOPT_BROADCAST = 2, ENET_SOCKOPT_RCVBUF = 3, ENET_SOCKOPT_SNDBUF = 4, ENET_SOCKOPT_REUSEADDR = 5, ENET_SOCKOPT_RCVTIMEO = 6, ENET_SOCKOPT_SNDTIMEO = 7 } |
enum | _ENetSocketShutdown { ENET_SOCKET_SHUTDOWN_READ = 0, ENET_SOCKET_SHUTDOWN_WRITE = 1, ENET_SOCKET_SHUTDOWN_READ_WRITE = 2 } |
enum | { ENET_HOST_ANY = 0, ENET_HOST_BROADCAST = 0xFFFFFFFF, ENET_PORT_ANY = 0 } |
enum | _ENetPacketFlag { ENET_PACKET_FLAG_RELIABLE = (1 << 0), ENET_PACKET_FLAG_UNSEQUENCED = (1 << 1), ENET_PACKET_FLAG_NO_ALLOCATE = (1 << 2), ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT = (1 << 3), ENET_PACKET_FLAG_SENT = (1<<8) } |
Packet flag bit constants. More... | |
enum | _ENetPeerState { ENET_PEER_STATE_DISCONNECTED = 0, ENET_PEER_STATE_CONNECTING = 1, ENET_PEER_STATE_ACKNOWLEDGING_CONNECT = 2, ENET_PEER_STATE_CONNECTION_PENDING = 3, ENET_PEER_STATE_CONNECTION_SUCCEEDED = 4, ENET_PEER_STATE_CONNECTED = 5, ENET_PEER_STATE_DISCONNECT_LATER = 6, ENET_PEER_STATE_DISCONNECTING = 7, ENET_PEER_STATE_ACKNOWLEDGING_DISCONNECT = 8, ENET_PEER_STATE_ZOMBIE = 9 } |
enum | { ENET_HOST_RECEIVE_BUFFER_SIZE = 256 * 1024, ENET_HOST_SEND_BUFFER_SIZE = 256 * 1024, ENET_HOST_BANDWIDTH_THROTTLE_INTERVAL = 1000, ENET_HOST_DEFAULT_MTU = 1400, ENET_PEER_DEFAULT_ROUND_TRIP_TIME = 500, ENET_PEER_DEFAULT_PACKET_THROTTLE = 32, ENET_PEER_PACKET_THROTTLE_SCALE = 32, ENET_PEER_PACKET_THROTTLE_COUNTER = 7, ENET_PEER_PACKET_THROTTLE_ACCELERATION = 2, ENET_PEER_PACKET_THROTTLE_DECELERATION = 2, ENET_PEER_PACKET_THROTTLE_INTERVAL = 5000, ENET_PEER_PACKET_LOSS_SCALE = (1 << 16), ENET_PEER_PACKET_LOSS_INTERVAL = 10000, ENET_PEER_WINDOW_SIZE_SCALE = 64 * 1024, ENET_PEER_TIMEOUT_LIMIT = 32, ENET_PEER_TIMEOUT_MINIMUM = 5000, ENET_PEER_TIMEOUT_MAXIMUM = 30000, ENET_PEER_PING_INTERVAL = 500, ENET_PEER_UNSEQUENCED_WINDOWS = 64, ENET_PEER_UNSEQUENCED_WINDOW_SIZE = 1024, ENET_PEER_FREE_UNSEQUENCED_WINDOWS = 32, ENET_PEER_RELIABLE_WINDOWS = 16, ENET_PEER_RELIABLE_WINDOW_SIZE = 0x1000, ENET_PEER_FREE_RELIABLE_WINDOWS = 8 } |
enum | _ENetEventType { ENET_EVENT_TYPE_NONE = 0, ENET_EVENT_TYPE_CONNECT = 1, ENET_EVENT_TYPE_DISCONNECT = 2, ENET_EVENT_TYPE_RECEIVE = 3 } |
An ENet event type, as specified in ENetEvent. More... |
Functions | |
typedef | void (ENET_CALLBACK *ENetPacketFreeCallback)(struct _ENetPacket *) |
typedef | enet_uint32 (ENET_CALLBACK *ENetChecksumCallback)(const ENetBuffer *buffers |
Callback that computes the checksum of the data held in buffers[0:bufferCount-1]. | |
typedef | int (ENET_CALLBACK *ENetInterceptCallback)(struct _ENetHost *host |
Callback for intercepting received raw UDP packets. | |
ENET_API int | enet_initialize (void) |
Initializes ENet globally. | |
ENET_API int | enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks *inits) |
Initializes ENet globally and supplies user-overridden callbacks. | |
ENET_API void | enet_deinitialize (void) |
Shuts down ENet globally. | |
ENET_API enet_uint32 | enet_time_get (void) |
Returns the wall-time in milliseconds. | |
ENET_API void | enet_time_set (enet_uint32) |
Sets the current wall-time in milliseconds. | |
ENET_API ENetSocket | enet_socket_create (ENetSocketType) |
ENET_API int | enet_socket_bind (ENetSocket, const ENetAddress *) |
ENET_API int | enet_socket_listen (ENetSocket, int) |
ENET_API ENetSocket | enet_socket_accept (ENetSocket, ENetAddress *) |
ENET_API int | enet_socket_connect (ENetSocket, const ENetAddress *) |
ENET_API int | enet_socket_send (ENetSocket, const ENetAddress *, const ENetBuffer *, size_t) |
ENET_API int | enet_socket_receive (ENetSocket, ENetAddress *, ENetBuffer *, size_t) |
ENET_API int | enet_socket_wait (ENetSocket, enet_uint32 *, enet_uint32) |
ENET_API int | enet_socket_set_option (ENetSocket, ENetSocketOption, int) |
ENET_API int | enet_socket_shutdown (ENetSocket, ENetSocketShutdown) |
ENET_API void | enet_socket_destroy (ENetSocket) |
ENET_API int | enet_socketset_select (ENetSocket, ENetSocketSet *, ENetSocketSet *, enet_uint32) |
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 parameter if successful. | |
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. | |
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. | |
ENET_API ENetPacket * | enet_packet_create (const void *, size_t, enet_uint32) |
Creates a packet that may be sent to a peer. | |
ENET_API void | enet_packet_destroy (ENetPacket *) |
Destroys the packet and deallocates its data. | |
ENET_API int | enet_packet_resize (ENetPacket *, size_t) |
Attempts to resize the data in the packet to length specified in the dataLength parameter. | |
ENET_API enet_uint32 | enet_crc32 (const ENetBuffer *, size_t) |
ENET_API ENetHost * | enet_host_create (const ENetAddress *, size_t, size_t, enet_uint32, enet_uint32) |
Creates a host for communicating to peers. | |
ENET_API void | enet_host_destroy (ENetHost *) |
Destroys the host and all resources associated with it. | |
ENET_API ENetPeer * | enet_host_connect (ENetHost *, const ENetAddress *, size_t, enet_uint32) |
Initiates a connection to a foreign host. | |
ENET_API int | enet_host_check_events (ENetHost *, ENetEvent *) |
Checks for any queued events on the host and dispatches one if available. | |
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. | |
ENET_API void | enet_host_flush (ENetHost *) |
Sends any queued packets on the host specified to its designated peers. | |
ENET_API void | enet_host_broadcast (ENetHost *, enet_uint8, ENetPacket *) |
Queues a packet to be sent to all peers associated with the host. | |
ENET_API void | enet_host_compress (ENetHost *, const ENetCompressor *) |
Sets the packet compressor the host should use to compress and decompress packets. | |
ENET_API int | enet_host_compress_with_range_coder (ENetHost *host) |
Sets the packet compressor the host should use to the default range coder. | |
ENET_API void | enet_host_channel_limit (ENetHost *, size_t) |
Limits the maximum allowed channels of future incoming connections. | |
ENET_API void | enet_host_bandwidth_limit (ENetHost *, enet_uint32, enet_uint32) |
Adjusts the bandwidth limits of a host. | |
void | enet_host_bandwidth_throttle (ENetHost *) |
ENET_API int | enet_peer_send (ENetPeer *, enet_uint8, ENetPacket *) |
Queues a packet to be sent. | |
ENET_API ENetPacket * | enet_peer_receive (ENetPeer *, enet_uint8 *channelID) |
Attempts to dequeue any incoming queued packet. | |
ENET_API void | enet_peer_ping (ENetPeer *) |
Sends a ping request to a peer. | |
ENET_API void | enet_peer_ping_interval (ENetPeer *, enet_uint32) |
Sets the interval at which pings will be sent to a peer. | |
ENET_API void | enet_peer_timeout (ENetPeer *, enet_uint32, enet_uint32, enet_uint32) |
Sets the timeout parameters for a peer. | |
ENET_API void | enet_peer_reset (ENetPeer *) |
Forcefully disconnects a peer. | |
ENET_API void | enet_peer_disconnect (ENetPeer *, enet_uint32) |
Request a disconnection from a peer. | |
ENET_API void | enet_peer_disconnect_now (ENetPeer *, enet_uint32) |
Force an immediate disconnection from a peer. | |
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. | |
ENET_API void | enet_peer_throttle_configure (ENetPeer *, enet_uint32, enet_uint32, enet_uint32) |
Configures throttle parameter for a peer. | |
int | enet_peer_throttle (ENetPeer *, enet_uint32) |
void | enet_peer_reset_queues (ENetPeer *) |
void | enet_peer_setup_outgoing_command (ENetPeer *, ENetOutgoingCommand *) |
ENetOutgoingCommand * | enet_peer_queue_outgoing_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32, enet_uint16) |
ENetIncomingCommand * | enet_peer_queue_incoming_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32) |
ENetAcknowledgement * | enet_peer_queue_acknowledgement (ENetPeer *, const ENetProtocol *, enet_uint16) |
void | enet_peer_dispatch_incoming_unreliable_commands (ENetPeer *, ENetChannel *) |
void | enet_peer_dispatch_incoming_reliable_commands (ENetPeer *, ENetChannel *) |
ENET_API void * | enet_range_coder_create (void) |
ENET_API void | enet_range_coder_destroy (void *) |
ENET_API size_t | enet_range_coder_compress (void *, const ENetBuffer *, size_t, size_t, enet_uint8 *, size_t) |
ENET_API size_t | enet_range_coder_decompress (void *, const enet_uint8 *, size_t, enet_uint8 *, size_t) |
size_t | enet_protocol_command_size (enet_uint8) |
typedef struct _ENetAddress ENetAddress |
The host must be specified in network byte-order, and the port must be in host byte-order. The constant ENET_HOST_ANY may be used to specify the default server host. The constant ENET_HOST_BROADCAST may be used to specify the broadcast address (255.255.255.255). This makes sense for enet_host_connect, but not for enet_host_create. Once a server responds to a broadcast, the address is updated from ENET_HOST_BROADCAST to the server's actual IP address.
typedef struct _ENetEvent ENetEvent |
No fields should be modified unless otherwise stated.
typedef struct _ENetPacket ENetPacket |
An ENet data packet that may be sent to or received from a peer. The shown fields should only be read and never modified. The data field contains the allocated data for the packet. The dataLength fields specifies the length of the allocated data. The flags field is either 0 (specifying no flags), or a bitwise-or of any combination of the following flags:
ENET_PACKET_FLAG_RELIABLE - packet must be received by the target peer and resend attempts should be made until the packet is delivered
ENET_PACKET_FLAG_UNSEQUENCED - packet will not be sequenced with other packets (not supported for reliable packets)
ENET_PACKET_FLAG_NO_ALLOCATE - packet will not allocate data, and user must supply it instead
typedef enum _ENetPacketFlag ENetPacketFlag |
The host must be specified in network byte-order, and the port must be in host byte-order. The constant ENET_HOST_ANY may be used to specify the default server host.
anonymous enum |
enum _ENetEventType |
enum _ENetPacketFlag |
The host must be specified in network byte-order, and the port must be in host byte-order. The constant ENET_HOST_ANY may be used to specify the default server host.
ENET_API enet_uint32 enet_time_get | ( | void | ) |
Its initial value is unspecified unless otherwise set.
Referenced by enet_host_flush(), and enet_host_service().
typedef int | ( | ENET_CALLBACK * | ENetInterceptCallback | ) |
Should return 1 to intercept, 0 to ignore, or -1 to propagate an error.