Packet.h

Go to the documentation of this file.
00001 
00002 //
00003 // SFML - Simple and Fast Multimedia Library
00004 // Copyright (C) 2007 Laurent Gomila (laurent.gom@gmail.com)
00005 //
00006 // This software is provided 'as-is', without any express or implied warranty.
00007 // In no event will the authors be held liable for any damages arising from the use of this software.
00008 //
00009 // Permission is granted to anyone to use this software for any purpose,
00010 // including commercial applications, and to alter it and redistribute it freely,
00011 // subject to the following restrictions:
00012 //
00013 // 1. The origin of this software must not be misrepresented;
00014 //    you must not claim that you wrote the original software.
00015 //    If you use this software in a product, an acknowledgment
00016 //    in the product documentation would be appreciated but is not required.
00017 //
00018 // 2. Altered source versions must be plainly marked as such,
00019 //    and must not be misrepresented as being the original software.
00020 //
00021 // 3. This notice may not be removed or altered from any source distribution.
00022 //
00024 
00025 #ifndef SFML_PACKET_H
00026 #define SFML_PACKET_H
00027 
00029 // Headers
00031 #include <SFML/Config.h>
00032 
00033 
00037 typedef struct sfPacket sfPacket;
00038 
00039 
00046 CSFML_API sfPacket* sfPacket_Create();
00047 
00054 CSFML_API void sfPacket_Destroy(sfPacket* Packet);
00055 
00064 CSFML_API void sfPacket_Append(sfPacket* Packet, void* Data, size_t SizeInBytes);
00065 
00072 CSFML_API void sfPacket_Clear(sfPacket* Packet);
00073 
00084 CSFML_API const char* sfPacket_GetData(sfPacket* Packet);
00085 
00094 CSFML_API sfUint32 sfPacket_GetDataSize(sfPacket* Packet);
00095 
00104 CSFML_API sfBool sfPacket_CanRead(sfPacket* Packet);
00105 
00112 CSFML_API sfInt8   sfPacket_ReadInt8(sfPacket* Packet);
00113 CSFML_API sfUint8  sfPacket_ReadUint8(sfPacket* Packet);
00114 CSFML_API sfInt16  sfPacket_ReadInt16(sfPacket* Packet);
00115 CSFML_API sfUint16 sfPacket_ReadUint16(sfPacket* Packet);
00116 CSFML_API sfInt32  sfPacket_ReadInt32(sfPacket* Packet);
00117 CSFML_API sfUint32 sfPacket_ReadUint32(sfPacket* Packet);
00118 CSFML_API float    sfPacket_ReadFloat(sfPacket* Packet);
00119 CSFML_API double   sfPacket_ReadDouble(sfPacket* Packet);
00120 CSFML_API void     sfPacket_ReadString(sfPacket* Packet, char* String);
00121 CSFML_API void     sfPacket_ReadWideString(sfPacket* Packet, wchar_t* String);
00122 
00129 CSFML_API void sfPacket_WriteInt8(sfPacket* Packet, sfInt8);
00130 CSFML_API void sfPacket_WriteUint8(sfPacket* Packet, sfUint8);
00131 CSFML_API void sfPacket_WriteInt16(sfPacket* Packet, sfInt16);
00132 CSFML_API void sfPacket_WriteUint16(sfPacket* Packet, sfUint16);
00133 CSFML_API void sfPacket_WriteInt32(sfPacket* Packet, sfInt32);
00134 CSFML_API void sfPacket_WriteUint32(sfPacket* Packet, sfUint32);
00135 CSFML_API void sfPacket_WriteFloat(sfPacket* Packet, float);
00136 CSFML_API void sfPacket_WriteDouble(sfPacket* Packet, double);
00137 CSFML_API void sfPacket_WriteString(sfPacket* Packet, const char* String);
00138 CSFML_API void sfPacket_WriteWideString(sfPacket* Packet, const wchar_t* String);
00139 
00140 
00141 #endif // SFML_PACKET_H