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-2024 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
31
32#include <CSFML/Network/Types.h>
33
34#include <stddef.h>
35
36
44
54
62
71CSFML_NETWORK_API void sfPacket_append(sfPacket* packet, const void* data, size_t sizeInBytes);
72
86
96
110CSFML_NETWORK_API const void* sfPacket_getData(const sfPacket* packet);
111
124
138
154
174
192CSFML_NETWORK_API void sfPacket_writeString(sfPacket* packet, const char* string);
193CSFML_NETWORK_API void sfPacket_writeWideString(sfPacket* packet, const wchar_t* string);
#define CSFML_NETWORK_API
struct sfPacket sfPacket
size_t sfPacket_getDataSize(const sfPacket *packet)
Get the size of the data contained in a packet.
void sfPacket_append(sfPacket *packet, const void *data, size_t sizeInBytes)
Append data to the end of a packet.
void sfPacket_writeInt8(sfPacket *packet, int8_t)
const void * sfPacket_getData(const sfPacket *packet)
Get a pointer to the data contained in a packet.
void sfPacket_writeBool(sfPacket *packet, bool)
Functions to insert data into a packet.
void sfPacket_writeWideString(sfPacket *packet, const wchar_t *string)
void sfPacket_writeDouble(sfPacket *packet, double)
uint16_t sfPacket_readUint16(sfPacket *packet)
bool sfPacket_canRead(const sfPacket *packet)
Test the validity of a packet, for reading.
uint32_t sfPacket_readUint32(sfPacket *packet)
void sfPacket_writeInt16(sfPacket *packet, int16_t)
void sfPacket_writeUint16(sfPacket *packet, uint16_t)
void sfPacket_writeUint64(sfPacket *packet, uint64_t)
double sfPacket_readDouble(sfPacket *packet)
void sfPacket_readWideString(sfPacket *packet, wchar_t *string)
bool sfPacket_endOfPacket(const sfPacket *packet)
Tell if the reading position has reached the end of a packet.
int32_t sfPacket_readInt32(sfPacket *packet)
void sfPacket_writeInt64(sfPacket *packet, int64_t)
float sfPacket_readFloat(sfPacket *packet)
void sfPacket_writeString(sfPacket *packet, const char *string)
void sfPacket_writeUint32(sfPacket *packet, uint32_t)
uint8_t sfPacket_readUint8(sfPacket *packet)
int16_t sfPacket_readInt16(sfPacket *packet)
void sfPacket_writeFloat(sfPacket *packet, float)
sfPacket * sfPacket_create(void)
Create a new packet.
bool sfPacket_readBool(sfPacket *packet)
Functions to extract data from a packet.
size_t sfPacket_getReadPosition(const sfPacket *packet)
Get the current reading position in the packet.
void sfPacket_readString(sfPacket *packet, char *string)
void sfPacket_writeUint8(sfPacket *packet, uint8_t)
void sfPacket_destroy(const sfPacket *packet)
Destroy a packet.
void sfPacket_clear(sfPacket *packet)
Clear a packet.
int8_t sfPacket_readInt8(sfPacket *packet)
uint64_t sfPacket_readUint64(sfPacket *packet)
void sfPacket_writeInt32(sfPacket *packet, int32_t)
sfPacket * sfPacket_copy(const sfPacket *packet)
Create a new packet by copying an existing one.
int64_t sfPacket_readInt64(sfPacket *packet)