1#ifndef _XDROUTPACKET_H
2
3#define _XDROUTPACKET_H
4
5#include <SupportDefs.h>
6
7#define XDROUTPACKET_BUFFER_INCREMENT 512
8
9struct XDROutPacket
10{
11	uint8 *fBuffer;
12	size_t fSize;
13	size_t fLength;
14};
15
16void XDROutPacketInit (struct XDROutPacket *packet);
17void XDROutPacketDestroy (struct XDROutPacket *packet);
18
19void XDROutPacketGrow (struct XDROutPacket *packet, size_t size);
20void XDROutPacketAddInt32 (struct XDROutPacket *packet, int32 val);
21status_t XDROutPacketAddDynamic (struct XDROutPacket *packet, const void *data, size_t size);
22status_t XDROutPacketAddFixed (struct XDROutPacket *packet, const void *data, size_t size);
23status_t XDROutPacketAddString (struct XDROutPacket *packet, const char *string);
24void XDROutPacketAppend (struct XDROutPacket *me, const struct XDROutPacket *packet);
25
26const uint8 *XDROutPacketBuffer (struct XDROutPacket *packet);
27size_t XDROutPacketLength (struct XDROutPacket *packet);
28void XDROutPacketClear (struct XDROutPacket *packet);
29
30#endif
31