Packet¶
Functions
-
sfPacket *sfPacket_create(void)
Create a new packet.
- Returns:
A new sfPacket object
-
sfPacket *sfPacket_copy(const sfPacket *packet)
Create a new packet by copying an existing one.
- Parameters:
packet – Packet to copy
- Returns:
A new sfPacket object which is a copy of packet
-
void sfPacket_destroy(sfPacket *packet)
Destroy a packet.
- Parameters:
packet – Packet to destroy
-
void sfPacket_append(sfPacket *packet, const void *data, size_t sizeInBytes)
Append data to the end of a packet.
- Parameters:
packet – Packet object
data – Pointer to the sequence of bytes to append
sizeInBytes – Number of bytes to append
-
size_t sfPacket_getReadPosition(const sfPacket *packet)
Get the current reading position in the packet.
The next read operation will read data from this position
See also
append
- Returns:
The byte offset of the current read position
-
void sfPacket_clear(sfPacket *packet)
Clear a packet.
After calling Clear, the packet is empty.
- Parameters:
packet – Packet object
-
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:
packet – Packet object
- Returns:
Pointer to the data
-
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:
packet – Packet object
- Returns:
Data size, in bytes
-
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:
packet – Packet object
- Returns:
sfTrue if all data was read, sfFalse otherwise
-
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:
packet – Packet object
- Returns:
sfTrue if last data extraction from packet was successful
-
sfBool sfPacket_readBool(sfPacket *packet)
Functions to extract data from a packet.
- Parameters:
packet – Packet object
-
sfInt8 sfPacket_readInt8(sfPacket *packet)
-
sfUint8 sfPacket_readUint8(sfPacket *packet)
-
sfInt16 sfPacket_readInt16(sfPacket *packet)
-
sfUint16 sfPacket_readUint16(sfPacket *packet)
-
sfInt32 sfPacket_readInt32(sfPacket *packet)
-
sfUint32 sfPacket_readUint32(sfPacket *packet)
-
float sfPacket_readFloat(sfPacket *packet)
-
double sfPacket_readDouble(sfPacket *packet)
-
void sfPacket_readString(sfPacket *packet, char *string)
-
void sfPacket_readWideString(sfPacket *packet, wchar_t *string)
-
void sfPacket_writeBool(sfPacket *packet, sfBool)
Functions to insert data into a packet.
- Parameters:
packet – Packet object
-
void sfPacket_writeInt8(sfPacket *packet, sfInt8)
-
void sfPacket_writeUint8(sfPacket *packet, sfUint8)
-
void sfPacket_writeInt16(sfPacket *packet, sfInt16)
-
void sfPacket_writeUint16(sfPacket *packet, sfUint16)
-
void sfPacket_writeInt32(sfPacket *packet, sfInt32)
-
void sfPacket_writeUint32(sfPacket *packet, sfUint32)
-
void sfPacket_writeFloat(sfPacket *packet, float)
-
void sfPacket_writeDouble(sfPacket *packet, double)
-
void sfPacket_writeString(sfPacket *packet, const char *string)
-
void sfPacket_writeWideString(sfPacket *packet, const wchar_t *string)