1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
|
/*
gpiBuffer.h
GameSpy Presence SDK
Dan "Mr. Pants" Schoenblum
Copyright 1999-2007 GameSpy Industries, Inc
devsupport@gamespy.com
***********************************************************************
Please see the GameSpy Presence SDK documentation for more information
**********************************************************************/
#ifndef _GPIBUFFER_H_
#define _GPIBUFFER_H_
//INCLUDES
//////////
#include "gpi.h"
//TYPES
///////
// A buffer.
////////////
typedef struct
{
char * buffer;
int size;
int len;
int pos;
} GPIBuffer;
typedef struct GPIPeer_s * GPIPeer_st;
//FUNCTIONS
///////////
GPResult
gpiAppendCharToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
char c
);
GPResult
gpiAppendStringToBufferLen(
GPConnection * connection,
GPIBuffer * outputBuffer,
const char * string,
int stringLen
);
GPResult
gpiAppendStringToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
const char * buffer
);
GPResult gpiAppendShortToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
short num
);
GPResult gpiAppendUShortToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
unsigned short num
);
GPResult
gpiAppendIntToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
int num
);
GPResult
gpiAppendUIntToBuffer(
GPConnection * connection,
GPIBuffer * outputBuffer,
unsigned int num
);
GPResult
gpiSendOrBufferChar(
GPConnection * connection,
GPIPeer_st peer,
char c
);
/*
GPResult
gpiSendOrBufferStringLen(
GPConnection * connection,
GPIPeer_st peer,
const char * string,
int stringLen
);
*/
GPResult
gpiSendOrBufferStringLenToPeer(
GPConnection * connection,
GPIPeer_st peer,
const char * string,
int stringLen
);
GPResult
gpiSendOrBufferString(
GPConnection * connection,
GPIPeer_st peer,
char * string
);
GPResult
gpiSendOrBufferInt(
GPConnection * connection,
GPIPeer_st peer,
int num
);
GPResult
gpiSendOrBufferUInt(
GPConnection * connection,
GPIPeer_st peer,
unsigned int num
);
GPResult
gpiSendFromBuffer(
GPConnection * connection,
SOCKET sock,
GPIBuffer * outputBuffer,
GPIBool * connClosed,
GPIBool clipSentData,
char id[3]
);
GPResult
gpiRecvToBuffer(
GPConnection * connection,
SOCKET sock,
GPIBuffer * inputBuffer,
int * bytesRead,
GPIBool * connClosed,
char id[3]
);
GPResult
gpiReadMessageFromBuffer(
GPConnection * connection,
GPIBuffer * inputBuffer,
char ** message,
int * type,
int * len
);
GPResult
gpiClipBufferToPosition(
GPConnection * connection,
GPIBuffer * buffer
);
GPResult gpiSendBufferToPeer(GPConnection * connection, unsigned int ip, unsigned short port,
GPIBuffer * outputBuffer, GPIBool *closed, GPIBool clipSentData);
#endif
|