Packet.h
Go to the documentation of this file.
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
5 //
6 // This software is provided 'as-is', without any express or implied warranty.
7 // In no event will the authors be held liable for any damages arising from the use of this software.
8 //
9 // Permission is granted to anyone to use this software for any purpose,
10 // including commercial applications, and to alter it and redistribute it freely,
11 // subject to the following restrictions:
12 //
13 // 1. The origin of this software must not be misrepresented;
14 // you must not claim that you wrote the original software.
15 // If you use this software in a product, an acknowledgment
16 // in the product documentation would be appreciated but is not required.
17 //
18 // 2. Altered source versions must be plainly marked as such,
19 // and must not be misrepresented as being the original software.
20 //
21 // 3. This notice may not be removed or altered from any source distribution.
22 //
24 
25 #ifndef SFML_PACKET_H
26 #define SFML_PACKET_H
27 
29 // Headers
31 #include <SFML/Network/Export.h>
32 #include <SFML/Network/Types.h>
33 #include <stddef.h>
34 
35 
43 
53 
61 
70 CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes);
71 
81 
95 CSFML_NETWORK_API const void* sfPacket_getData(const sfPacket* packet);
96 
108 CSFML_NETWORK_API size_t sfPacket_getDataSize(const sfPacket* packet);
109 
123 
139 
155 CSFML_NETWORK_API void sfPacket_readString(sfPacket* packet, char* string);
156 CSFML_NETWORK_API void sfPacket_readWideString(sfPacket* packet, wchar_t* string);
157 
171 CSFML_NETWORK_API void sfPacket_writeFloat(sfPacket* packet, float);
172 CSFML_NETWORK_API void sfPacket_writeDouble(sfPacket* packet, double);
173 CSFML_NETWORK_API void sfPacket_writeString(sfPacket* packet, const char* string);
174 CSFML_NETWORK_API void sfPacket_writeWideString(sfPacket* packet, const wchar_t* string);
175 
176 
177 #endif // SFML_PACKET_H
CSFML_NETWORK_API void sfPacket_writeDouble(sfPacket *packet, double)
CSFML_NETWORK_API sfUint8 sfPacket_readUint8(sfPacket *packet)
CSFML_NETWORK_API size_t sfPacket_getDataSize(const sfPacket *packet)
Get the size of the data contained in a packet.
CSFML_NETWORK_API void sfPacket_writeFloat(sfPacket *packet, float)
CSFML_NETWORK_API void sfPacket_destroy(sfPacket *packet)
Destroy a packet.
#define CSFML_NETWORK_API
CSFML_NETWORK_API void sfPacket_readString(sfPacket *packet, char *string)
CSFML_NETWORK_API void sfPacket_writeBool(sfPacket *packet, sfBool)
Functions to insert data into a packet.
CSFML_NETWORK_API void sfPacket_writeUint8(sfPacket *packet, sfUint8)
CSFML_NETWORK_API void sfPacket_writeWideString(sfPacket *packet, const wchar_t *string)
CSFML_NETWORK_API sfUint32 sfPacket_readUint32(sfPacket *packet)
signed char sfInt8
Definition: Config.h:167
CSFML_NETWORK_API sfBool sfPacket_canRead(const sfPacket *packet)
Test the validity of a packet, for reading.
signed short sfInt16
Definition: Config.h:171
int sfBool
Definition: Config.h:153
CSFML_NETWORK_API void sfPacket_writeInt16(sfPacket *packet, sfInt16)
CSFML_NETWORK_API sfPacket * sfPacket_copy(const sfPacket *packet)
Create a new packet by copying an existing one.
signed int sfInt32
Definition: Config.h:175
struct sfPacket sfPacket
Definition: Network/Types.h:36
unsigned short sfUint16
Definition: Config.h:172
CSFML_NETWORK_API sfInt32 sfPacket_readInt32(sfPacket *packet)
CSFML_NETWORK_API sfInt16 sfPacket_readInt16(sfPacket *packet)
CSFML_NETWORK_API void sfPacket_writeInt8(sfPacket *packet, sfInt8)
CSFML_NETWORK_API void sfPacket_writeInt32(sfPacket *packet, sfInt32)
unsigned int sfUint32
Definition: Config.h:176
CSFML_NETWORK_API sfBool sfPacket_readBool(sfPacket *packet)
Functions to extract data from a packet.
CSFML_NETWORK_API void sfPacket_append(sfPacket *packet, const void *data, size_t sizeInBytes)
Append data to the end of a packet.
CSFML_NETWORK_API void sfPacket_writeString(sfPacket *packet, const char *string)
CSFML_NETWORK_API const void * sfPacket_getData(const sfPacket *packet)
Get a pointer to the data contained in a packet.
CSFML_NETWORK_API sfPacket * sfPacket_create(void)
Create a new packet.
CSFML_NETWORK_API sfUint16 sfPacket_readUint16(sfPacket *packet)
CSFML_NETWORK_API void sfPacket_writeUint32(sfPacket *packet, sfUint32)
CSFML_NETWORK_API float sfPacket_readFloat(sfPacket *packet)
unsigned char sfUint8
Definition: Config.h:168
CSFML_NETWORK_API void sfPacket_clear(sfPacket *packet)
Clear a packet.
CSFML_NETWORK_API void sfPacket_writeUint16(sfPacket *packet, sfUint16)
CSFML_NETWORK_API double sfPacket_readDouble(sfPacket *packet)
CSFML_NETWORK_API void sfPacket_readWideString(sfPacket *packet, wchar_t *string)
CSFML_NETWORK_API sfBool sfPacket_endOfPacket(const sfPacket *packet)
Tell if the reading position has reached the end of a packet.
CSFML_NETWORK_API sfInt8 sfPacket_readInt8(sfPacket *packet)