CSFML 3.0.0
Loading...
Searching...
No Matches
Packet.h
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2026 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#pragma once
26
28// Headers
30#include <CSFML/Network/Export.h>
31
32#include <CSFML/Network/Types.h>
33
34#include <stddef.h>
35
36
43 CSFML_NETWORK_API sfPacket* sfPacket_create(void);
44
53 CSFML_NETWORK_API sfPacket* sfPacket_copy(const sfPacket* packet);
54
61 CSFML_NETWORK_API void sfPacket_destroy(const sfPacket* packet);
62
71 CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes);
72
85 CSFML_NETWORK_API size_t sfPacket_getReadPosition(const sfPacket* packet);
86
95 CSFML_NETWORK_API void sfPacket_clear(sfPacket* packet);
96
110 CSFML_NETWORK_API const void* sfPacket_getData(const sfPacket* packet);
111
123 CSFML_NETWORK_API size_t sfPacket_getDataSize(const sfPacket* packet);
124
137 CSFML_NETWORK_API bool sfPacket_endOfPacket(const sfPacket* packet);
138
153 CSFML_NETWORK_API bool sfPacket_canRead(const sfPacket* packet);
154
161 CSFML_NETWORK_API bool sfPacket_readBool(sfPacket* packet);
162 CSFML_NETWORK_API int8_t sfPacket_readInt8(sfPacket* packet);
163 CSFML_NETWORK_API uint8_t sfPacket_readUint8(sfPacket* packet);
164 CSFML_NETWORK_API int16_t sfPacket_readInt16(sfPacket* packet);
165 CSFML_NETWORK_API uint16_t sfPacket_readUint16(sfPacket* packet);
166 CSFML_NETWORK_API int32_t sfPacket_readInt32(sfPacket* packet);
167 CSFML_NETWORK_API uint32_t sfPacket_readUint32(sfPacket* packet);
168 CSFML_NETWORK_API int64_t sfPacket_readInt64(sfPacket* packet);
169 CSFML_NETWORK_API uint64_t sfPacket_readUint64(sfPacket* packet);
170 CSFML_NETWORK_API float sfPacket_readFloat(sfPacket* packet);
171 CSFML_NETWORK_API double sfPacket_readDouble(sfPacket* packet);
172 CSFML_NETWORK_API void sfPacket_readString(sfPacket* packet, char* string);
173 CSFML_NETWORK_API void sfPacket_readWideString(sfPacket* packet, wchar_t* string);
174
181 CSFML_NETWORK_API void sfPacket_writeBool(sfPacket* packet, bool);
182 CSFML_NETWORK_API void sfPacket_writeInt8(sfPacket* packet, int8_t);
183 CSFML_NETWORK_API void sfPacket_writeUint8(sfPacket* packet, uint8_t);
184 CSFML_NETWORK_API void sfPacket_writeInt16(sfPacket* packet, int16_t);
185 CSFML_NETWORK_API void sfPacket_writeUint16(sfPacket* packet, uint16_t);
186 CSFML_NETWORK_API void sfPacket_writeInt32(sfPacket* packet, int32_t);
187 CSFML_NETWORK_API void sfPacket_writeUint32(sfPacket* packet, uint32_t);
188 CSFML_NETWORK_API void sfPacket_writeInt64(sfPacket* packet, int64_t);
189 CSFML_NETWORK_API void sfPacket_writeUint64(sfPacket* packet, uint64_t);
190 CSFML_NETWORK_API void sfPacket_writeFloat(sfPacket* packet, float);
191 CSFML_NETWORK_API void sfPacket_writeDouble(sfPacket* packet, double);
192 CSFML_NETWORK_API void sfPacket_writeString(sfPacket* packet, const char* string);
193 CSFML_NETWORK_API void sfPacket_writeWideString(sfPacket* packet, const wchar_t* string);
Export.h
CSFML_NETWORK_API
#define CSFML_NETWORK_API
Definition Network/Export.h:42
Types.h
sfPacket
struct sfPacket sfPacket
Definition Network/Types.h:35
sfPacket_getDataSize
size_t sfPacket_getDataSize(const sfPacket *packet)
Get the size of the data contained in a packet.
sfPacket_append
void sfPacket_append(sfPacket *packet, const void *data, size_t sizeInBytes)
Append data to the end of a packet.
sfPacket_writeInt8
void sfPacket_writeInt8(sfPacket *packet, int8_t)
sfPacket_getData
const void * sfPacket_getData(const sfPacket *packet)
Get a pointer to the data contained in a packet.
sfPacket_writeBool
void sfPacket_writeBool(sfPacket *packet, bool)
Functions to insert data into a packet.
sfPacket_writeWideString
void sfPacket_writeWideString(sfPacket *packet, const wchar_t *string)
sfPacket_writeDouble
void sfPacket_writeDouble(sfPacket *packet, double)
sfPacket_readUint16
uint16_t sfPacket_readUint16(sfPacket *packet)
sfPacket_canRead
bool sfPacket_canRead(const sfPacket *packet)
Test the validity of a packet, for reading.
sfPacket_readUint32
uint32_t sfPacket_readUint32(sfPacket *packet)
sfPacket_writeInt16
void sfPacket_writeInt16(sfPacket *packet, int16_t)
sfPacket_writeUint16
void sfPacket_writeUint16(sfPacket *packet, uint16_t)
sfPacket_writeUint64
void sfPacket_writeUint64(sfPacket *packet, uint64_t)
sfPacket_readDouble
double sfPacket_readDouble(sfPacket *packet)
sfPacket_readWideString
void sfPacket_readWideString(sfPacket *packet, wchar_t *string)
sfPacket_endOfPacket
bool sfPacket_endOfPacket(const sfPacket *packet)
Tell if the reading position has reached the end of a packet.
sfPacket_readInt32
int32_t sfPacket_readInt32(sfPacket *packet)
sfPacket_writeInt64
void sfPacket_writeInt64(sfPacket *packet, int64_t)
sfPacket_readFloat
float sfPacket_readFloat(sfPacket *packet)
sfPacket_writeString
void sfPacket_writeString(sfPacket *packet, const char *string)
sfPacket_writeUint32
void sfPacket_writeUint32(sfPacket *packet, uint32_t)
sfPacket_readUint8
uint8_t sfPacket_readUint8(sfPacket *packet)
sfPacket_readInt16
int16_t sfPacket_readInt16(sfPacket *packet)
sfPacket_writeFloat
void sfPacket_writeFloat(sfPacket *packet, float)
sfPacket_create
sfPacket * sfPacket_create(void)
Create a new packet.
sfPacket_readBool
bool sfPacket_readBool(sfPacket *packet)
Functions to extract data from a packet.
sfPacket_getReadPosition
size_t sfPacket_getReadPosition(const sfPacket *packet)
Get the current reading position in the packet.
sfPacket_readString
void sfPacket_readString(sfPacket *packet, char *string)
sfPacket_writeUint8
void sfPacket_writeUint8(sfPacket *packet, uint8_t)
sfPacket_destroy
void sfPacket_destroy(const sfPacket *packet)
Destroy a packet.
sfPacket_clear
void sfPacket_clear(sfPacket *packet)
Clear a packet.
sfPacket_readInt8
int8_t sfPacket_readInt8(sfPacket *packet)
sfPacket_readUint64
uint64_t sfPacket_readUint64(sfPacket *packet)
sfPacket_writeInt32
void sfPacket_writeInt32(sfPacket *packet, int32_t)
sfPacket_copy
sfPacket * sfPacket_copy(const sfPacket *packet)
Create a new packet by copying an existing one.
sfPacket_readInt64
int64_t sfPacket_readInt64(sfPacket *packet)