Functions
Packet.h File Reference
#include <SFML/Network/Export.h>
#include <SFML/Network/Types.h>
#include <stddef.h>

Go to the source code of this file.

Functions

CSFML_NETWORK_API sfPacket * sfPacket_create (void)
 Create a new packet. More...
 
CSFML_NETWORK_API sfPacket * sfPacket_copy (const sfPacket *packet)
 Create a new packet by copying an existing one. More...
 
CSFML_NETWORK_API void sfPacket_destroy (sfPacket *packet)
 Destroy a packet. More...
 
CSFML_NETWORK_API void sfPacket_append (sfPacket *packet, const void *data, size_t sizeInBytes)
 Append data to the end of a packet. More...
 
CSFML_NETWORK_API void sfPacket_clear (sfPacket *packet)
 Clear a packet. More...
 
CSFML_NETWORK_API const void * sfPacket_getData (const sfPacket *packet)
 Get a pointer to the data contained in a packet. More...
 
CSFML_NETWORK_API size_t sfPacket_getDataSize (const sfPacket *packet)
 Get the size of the data contained in a packet. More...
 
CSFML_NETWORK_API sfBool sfPacket_endOfPacket (const sfPacket *packet)
 Tell if the reading position has reached the end of a packet. More...
 
CSFML_NETWORK_API sfBool sfPacket_canRead (const sfPacket *packet)
 Test the validity of a packet, for reading. More...
 
CSFML_NETWORK_API sfBool sfPacket_readBool (sfPacket *packet)
 Functions to extract data from a packet. More...
 
CSFML_NETWORK_API sfInt8 sfPacket_readInt8 (sfPacket *packet)
 
CSFML_NETWORK_API sfUint8 sfPacket_readUint8 (sfPacket *packet)
 
CSFML_NETWORK_API sfInt16 sfPacket_readInt16 (sfPacket *packet)
 
CSFML_NETWORK_API sfUint16 sfPacket_readUint16 (sfPacket *packet)
 
CSFML_NETWORK_API sfInt32 sfPacket_readInt32 (sfPacket *packet)
 
CSFML_NETWORK_API sfUint32 sfPacket_readUint32 (sfPacket *packet)
 
CSFML_NETWORK_API float sfPacket_readFloat (sfPacket *packet)
 
CSFML_NETWORK_API double sfPacket_readDouble (sfPacket *packet)
 
CSFML_NETWORK_API void sfPacket_readString (sfPacket *packet, char *string)
 
CSFML_NETWORK_API void sfPacket_readWideString (sfPacket *packet, wchar_t *string)
 
CSFML_NETWORK_API void sfPacket_writeBool (sfPacket *packet, sfBool)
 Functions to insert data into a packet. More...
 
CSFML_NETWORK_API void sfPacket_writeInt8 (sfPacket *packet, sfInt8)
 
CSFML_NETWORK_API void sfPacket_writeUint8 (sfPacket *packet, sfUint8)
 
CSFML_NETWORK_API void sfPacket_writeInt16 (sfPacket *packet, sfInt16)
 
CSFML_NETWORK_API void sfPacket_writeUint16 (sfPacket *packet, sfUint16)
 
CSFML_NETWORK_API void sfPacket_writeInt32 (sfPacket *packet, sfInt32)
 
CSFML_NETWORK_API void sfPacket_writeUint32 (sfPacket *packet, sfUint32)
 
CSFML_NETWORK_API void sfPacket_writeFloat (sfPacket *packet, float)
 
CSFML_NETWORK_API void sfPacket_writeDouble (sfPacket *packet, double)
 
CSFML_NETWORK_API void sfPacket_writeString (sfPacket *packet, const char *string)
 
CSFML_NETWORK_API void sfPacket_writeWideString (sfPacket *packet, const wchar_t *string)
 

Function Documentation

CSFML_NETWORK_API void sfPacket_append ( sfPacket *  packet,
const void *  data,
size_t  sizeInBytes 
)

Append data to the end of a packet.

Parameters
packetPacket object
dataPointer to the sequence of bytes to append
sizeInBytesNumber of bytes to append
CSFML_NETWORK_API sfBool sfPacket_canRead ( const sfPacket *  packet)

Test the validity of a packet, for reading.

This function allows to test the packet, to check if a reading operation was successful.

A packet will be in an invalid state if it has no more data to read.

Parameters
packetPacket object
Returns
sfTrue if last data extraction from packet was successful
CSFML_NETWORK_API void sfPacket_clear ( sfPacket *  packet)

Clear a packet.

After calling Clear, the packet is empty.

Parameters
packetPacket object
CSFML_NETWORK_API sfPacket* sfPacket_copy ( const sfPacket *  packet)

Create a new packet by copying an existing one.

Parameters
packetPacket to copy
Returns
A new sfPacket object which is a copy of packet
CSFML_NETWORK_API sfPacket* sfPacket_create ( void  )

Create a new packet.

Returns
A new sfPacket object
CSFML_NETWORK_API void sfPacket_destroy ( sfPacket *  packet)

Destroy a packet.

Parameters
packetPacket to destroy
CSFML_NETWORK_API sfBool sfPacket_endOfPacket ( const sfPacket *  packet)

Tell if the reading position has reached the end of a packet.

This function is useful to know if there is some data left to be read, without actually reading it.

Parameters
packetPacket object
Returns
sfTrue if all data was read, sfFalse otherwise
CSFML_NETWORK_API const void* sfPacket_getData ( const sfPacket *  packet)

Get a pointer to the data contained in a packet.

Warning: the returned pointer may become invalid after you append data to the packet, therefore it should never be stored. The return pointer is NULL if the packet is empty.

Parameters
packetPacket object
Returns
Pointer to the data
CSFML_NETWORK_API size_t sfPacket_getDataSize ( const sfPacket *  packet)

Get the size of the data contained in a packet.

This function returns the number of bytes pointed to by what sfPacket_getData returns.

Parameters
packetPacket object
Returns
Data size, in bytes
CSFML_NETWORK_API sfBool sfPacket_readBool ( sfPacket *  packet)

Functions to extract data from a packet.

Parameters
packetPacket object
CSFML_NETWORK_API double sfPacket_readDouble ( sfPacket *  packet)
CSFML_NETWORK_API float sfPacket_readFloat ( sfPacket *  packet)
CSFML_NETWORK_API sfInt16 sfPacket_readInt16 ( sfPacket *  packet)
CSFML_NETWORK_API sfInt32 sfPacket_readInt32 ( sfPacket *  packet)
CSFML_NETWORK_API sfInt8 sfPacket_readInt8 ( sfPacket *  packet)
CSFML_NETWORK_API void sfPacket_readString ( sfPacket *  packet,
char *  string 
)
CSFML_NETWORK_API sfUint16 sfPacket_readUint16 ( sfPacket *  packet)
CSFML_NETWORK_API sfUint32 sfPacket_readUint32 ( sfPacket *  packet)
CSFML_NETWORK_API sfUint8 sfPacket_readUint8 ( sfPacket *  packet)
CSFML_NETWORK_API void sfPacket_readWideString ( sfPacket *  packet,
wchar_t *  string 
)
CSFML_NETWORK_API void sfPacket_writeBool ( sfPacket *  packet,
sfBool   
)

Functions to insert data into a packet.

Parameters
packetPacket object
CSFML_NETWORK_API void sfPacket_writeDouble ( sfPacket *  packet,
double   
)
CSFML_NETWORK_API void sfPacket_writeFloat ( sfPacket *  packet,
float   
)
CSFML_NETWORK_API void sfPacket_writeInt16 ( sfPacket *  packet,
sfInt16   
)
CSFML_NETWORK_API void sfPacket_writeInt32 ( sfPacket *  packet,
sfInt32   
)
CSFML_NETWORK_API void sfPacket_writeInt8 ( sfPacket *  packet,
sfInt8   
)
CSFML_NETWORK_API void sfPacket_writeString ( sfPacket *  packet,
const char *  string 
)
CSFML_NETWORK_API void sfPacket_writeUint16 ( sfPacket *  packet,
sfUint16   
)
CSFML_NETWORK_API void sfPacket_writeUint32 ( sfPacket *  packet,
sfUint32   
)
CSFML_NETWORK_API void sfPacket_writeUint8 ( sfPacket *  packet,
sfUint8   
)
CSFML_NETWORK_API void sfPacket_writeWideString ( sfPacket *  packet,
const wchar_t *  string 
)