#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <typeinfo>
#include <stddef.h>
#include "BitStream.h"
Go to the source code of this file.
Classes | |
struct | GenRPC::CallParams |
Namespaces | |
namespace | GenRPC |
Defines | |
#define | AUTO_RPC_MAX_PARAMS 64 |
#define | AUTO_RPC_ABI_NONE 0 |
#define | AUTO_RPC_ABI_IA_32 1 |
#define | AUTO_RPC_ABI_WIN_AMD64 2 |
#define | AUTO_RPC_ABI_SYSV_AMD64 3 |
#define | AUTO_RPC_ABI_PPC 4 |
#define | AUTO_RPC_ABI AUTO_RPC_ABI_NONE |
#define | AUTO_RPC_CALLSPEC |
#define | AUTO_RPC__ALIGN_P2(len, bytes) ( ( len + bytes - 1 ) & ~( bytes - 1 ) ) |
#define | AUTO_RPC_ALIGN_P2(len, type) AUTO_RPC__ALIGN_P2( len, sizeof( type ) ) |
#define | AUTO_RPC_ARRAY_END(array) &array[ sizeof( array ) / sizeof( array[0] ) ] |
#define | AUTO_RPC_REF_ALIGN 16 |
#define | AUTO_RPC_STACK_PADDING ( sizeof( NaturalWord ) / AUTO_RPC_REF_ALIGN ) |
#define | AUTO_RPC_NW_3 NaturalWord,NaturalWord,NaturalWord |
#define | AUTO_RPC_NW_6 |
#define | AUTO_RPC_NW_9 |
#define | AUTO_RPC_NW_5 |
#define | AUTO_RPC_NW_4_9 AUTO_RPC_NW_5 |
#define | AUTO_RPC_NW_12 |
#define | AUTO_RPC_NW_32 |
#define | AUTO_RPC_NW_64 |
#define | AUTO_RPC_NW_60 |
#define | AUTO_RPC_NW_4_64 AUTO_RPC_NW_60 |
#define | AUTO_RPC_INT_ARGS_3(call) call.intParams[0],call.intParams[1],call.intParams[2] |
#define | AUTO_RPC_INT_ARGS_6(call) |
#define | AUTO_RPC_INT_ARGS_9(call) |
#define | AUTO_RPC_INT_ARGS_4_9(call) |
#define | AUTO_RPC_INT_ARGS_12(call) |
#define | AUTO_RPC_INT_ARGS_32(call) |
#define | AUTO_RPC_INT_ARGS_4_64(call) |
#define | AUTO_RPC_INT_ARGS_64(call) |
Enumerations | |
enum | { GenRPC::PARAM_TYPE_MASK = 0x5, GenRPC::INT_PARAM = 0, GenRPC::REAL_PARAM = 1, GenRPC::REF_PARAM = 4, GenRPC::STR_PARAM = 5, GenRPC::ENDIAN_SWAP_SC = 1, GenRPC::DO_ENDIAN_SWAP = 1 << ENDIAN_SWAP_SC, GenRPC::RESERVED_BITS = 0xf8 } |
Functions | |
void | GenRPC::SerializeHeader (char *&out, unsigned int numParams) |
unsigned int | GenRPC::BuildStack (char *stack) |
template<class P1 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, bool es1=true) |
template<class P1 , class P2 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, bool es1=true, bool es2=true) |
template<class P1 , class P2 , class P3 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, bool es1=true, bool es2=true, bool es3=true) |
template<class P1 , class P2 , class P3 , class P4 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, P4 p4, bool es1=true, bool es2=true, bool es3=true, bool es4=true) |
template<class P1 , class P2 , class P3 , class P4 , class P5 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, bool es1=true, bool es2=true, bool es3=true, bool es4=true, bool es5=true) |
template<class P1 , class P2 , class P3 , class P4 , class P5 , class P6 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, bool es1=true, bool es2=true, bool es3=true, bool es4=true, bool es5=true, bool es6=true) |
template<class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, bool es1=true, bool es2=true, bool es3=true, bool es4=true, bool es5=true, bool es6=true, bool es7=true) |
template<class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 > | |
unsigned int | GenRPC::BuildStack (char *stack, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, bool es1=true, bool es2=true, bool es3=true, bool es4=true, bool es5=true, bool es6=true, bool es7=true, bool es8=true) |
template<class item > | |
void | GenRPC::Push (char *&p, item const i, bool doEndianSwap) |
template<class item > | |
void | GenRPC::Push (char *&p, item *const i, bool doEndianSwap) |
template<class item > | |
void | GenRPC::Push (char *&p, item const *const i, bool doEndianSwap) |
void | GenRPC::Push (char *&p, char *const i, bool doEndianSwap) |
void | GenRPC::Push (char *&p, const char *const i, bool doEndianSwap) |
bool | GenRPC::DeserializeParametersAndBuildCall (CallParams &call, char *in, unsigned int inLength, void *lastParam, void *thisPtr) |
Given a stack, the length of the stack, a possible last parameter, and a possible this pointer, build a call to a C or C++ function. | |
bool | GenRPC::CallWithStack (CallParams &call, void *functionPtr) |
template<class item > | |
size_t | GenRPC::D_size (item const ) |
template<class item > | |
size_t | GenRPC::D_size (item const *const ) |
template<class item > | |
size_t | GenRPC::D_size (item *const ) |
size_t | GenRPC::D_size (char *const str) |
size_t | GenRPC::D_size (char const *const str) |
template<class item > | |
unsigned | GenRPC::D_type (item const ) |
template<class item > | |
unsigned | GenRPC::D_type (item const *const ) |
template<class item > | |
unsigned | GenRPC::D_type (item *const ) |
unsigned | GenRPC::D_type (const char *const ) |
unsigned | GenRPC::D_type (char *const ) |
unsigned | GenRPC::D_type (float) |
unsigned | GenRPC::D_type (double) |
unsigned | GenRPC::D_type (long double) |
template<class item > | |
void | GenRPC::PushHeader (char *&p, item const i, bool endianSwap) |
This file is part of RakNet Copyright 2003 Jenkins Software LLC
Usage of RakNet is subject to the appropriate license agreement.
Definition in file Gen_RPC8.h.
#define AUTO_RPC__ALIGN_P2 | ( | len, | ||
bytes | ||||
) | ( ( len + bytes - 1 ) & ~( bytes - 1 ) ) |
Definition at line 251 of file Gen_RPC8.h.
#define AUTO_RPC_ABI AUTO_RPC_ABI_NONE |
Definition at line 235 of file Gen_RPC8.h.
#define AUTO_RPC_ABI_IA_32 1 |
Definition at line 125 of file Gen_RPC8.h.
#define AUTO_RPC_ABI_NONE 0 |
Definition at line 123 of file Gen_RPC8.h.
#define AUTO_RPC_ABI_PPC 4 |
Definition at line 138 of file Gen_RPC8.h.
#define AUTO_RPC_ABI_SYSV_AMD64 3 |
Definition at line 133 of file Gen_RPC8.h.
#define AUTO_RPC_ABI_WIN_AMD64 2 |
Definition at line 128 of file Gen_RPC8.h.
#define AUTO_RPC_ALIGN_P2 | ( | len, | ||
type | ||||
) | AUTO_RPC__ALIGN_P2( len, sizeof( type ) ) |
Definition at line 254 of file Gen_RPC8.h.
#define AUTO_RPC_ARRAY_END | ( | array | ) | &array[ sizeof( array ) / sizeof( array[0] ) ] |
Definition at line 257 of file Gen_RPC8.h.
#define AUTO_RPC_CALLSPEC |
Definition at line 245 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_12 | ( | call | ) |
call.intParams[0],call.intParams[1],call.intParams[2],call.intParams[3],\ call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8],call.intParams[9],call.intParams[10],call.intParams[11]
Definition at line 366 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_3 | ( | call | ) | call.intParams[0],call.intParams[1],call.intParams[2] |
Definition at line 354 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_32 | ( | call | ) |
call.intParams[0],call.intParams[1],call.intParams[2],call.intParams[3],\ call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8],call.intParams[9],call.intParams[10],call.intParams[11],\ call.intParams[12],call.intParams[13],call.intParams[14],call.intParams[15],\ call.intParams[16],call.intParams[17],call.intParams[18],call.intParams[19],\ call.intParams[20],call.intParams[21],call.intParams[22],call.intParams[23],\ call.intParams[24],call.intParams[25],call.intParams[26],call.intParams[27],\ call.intParams[28],call.intParams[29],call.intParams[30],call.intParams[31]
Definition at line 370 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_4_64 | ( | call | ) |
call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8],call.intParams[9],call.intParams[10],call.intParams[11],\ call.intParams[12],call.intParams[13],call.intParams[14],call.intParams[15],\ call.intParams[16],call.intParams[17],call.intParams[18],call.intParams[19],\ call.intParams[20],call.intParams[21],call.intParams[22],call.intParams[23],\ call.intParams[24],call.intParams[25],call.intParams[26],call.intParams[27],\ call.intParams[28],call.intParams[29],call.intParams[30],call.intParams[31],\ call.intParams[32],call.intParams[33],call.intParams[34],call.intParams[35],\ call.intParams[36],call.intParams[37],call.intParams[38],call.intParams[39],\ call.intParams[40],call.intParams[41],call.intParams[42],call.intParams[43],\ call.intParams[44],call.intParams[45],call.intParams[46],call.intParams[47],\ call.intParams[48],call.intParams[49],call.intParams[50],call.intParams[51],\ call.intParams[52],call.intParams[53],call.intParams[54],call.intParams[55],\ call.intParams[56],call.intParams[57],call.intParams[58],call.intParams[59],\ call.intParams[60],call.intParams[61],call.intParams[62],call.intParams[63]
Definition at line 379 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_4_9 | ( | call | ) |
call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8]
Definition at line 363 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_6 | ( | call | ) |
call.intParams[0],call.intParams[1],call.intParams[2],call.intParams[3],\ call.intParams[4],call.intParams[5]
Definition at line 356 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_64 | ( | call | ) |
call.intParams[0],call.intParams[1],call.intParams[2],call.intParams[3],\ call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8],call.intParams[9],call.intParams[10],call.intParams[11],\ call.intParams[12],call.intParams[13],call.intParams[14],call.intParams[15],\ call.intParams[16],call.intParams[17],call.intParams[18],call.intParams[19],\ call.intParams[20],call.intParams[21],call.intParams[22],call.intParams[23],\ call.intParams[24],call.intParams[25],call.intParams[26],call.intParams[27],\ call.intParams[28],call.intParams[29],call.intParams[30],call.intParams[31],\ call.intParams[32],call.intParams[33],call.intParams[34],call.intParams[35],\ call.intParams[36],call.intParams[37],call.intParams[38],call.intParams[39],\ call.intParams[40],call.intParams[41],call.intParams[42],call.intParams[43],\ call.intParams[44],call.intParams[45],call.intParams[46],call.intParams[47],\ call.intParams[48],call.intParams[49],call.intParams[50],call.intParams[51],\ call.intParams[52],call.intParams[53],call.intParams[54],call.intParams[55],\ call.intParams[56],call.intParams[57],call.intParams[58],call.intParams[59],\ call.intParams[60],call.intParams[61],call.intParams[62],call.intParams[63]
Definition at line 395 of file Gen_RPC8.h.
#define AUTO_RPC_INT_ARGS_9 | ( | call | ) |
call.intParams[0],call.intParams[1],call.intParams[2],call.intParams[3],\ call.intParams[4],call.intParams[5],call.intParams[6],call.intParams[7],\ call.intParams[8]
Definition at line 359 of file Gen_RPC8.h.
#define AUTO_RPC_MAX_PARAMS 64 |
Definition at line 121 of file Gen_RPC8.h.
#define AUTO_RPC_NW_12 |
NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord
Definition at line 303 of file Gen_RPC8.h.
#define AUTO_RPC_NW_3 NaturalWord,NaturalWord,NaturalWord |
Definition at line 289 of file Gen_RPC8.h.
#define AUTO_RPC_NW_32 |
NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord
Definition at line 308 of file Gen_RPC8.h.
#define AUTO_RPC_NW_4_64 AUTO_RPC_NW_60 |
Definition at line 350 of file Gen_RPC8.h.
#define AUTO_RPC_NW_4_9 AUTO_RPC_NW_5 |
Definition at line 301 of file Gen_RPC8.h.
#define AUTO_RPC_NW_5 |
NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord
Definition at line 298 of file Gen_RPC8.h.
#define AUTO_RPC_NW_6 |
NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord
Definition at line 291 of file Gen_RPC8.h.
#define AUTO_RPC_NW_60 |
NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord
Definition at line 334 of file Gen_RPC8.h.
#define AUTO_RPC_NW_64 |
NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,NaturalWord
Definition at line 317 of file Gen_RPC8.h.
#define AUTO_RPC_NW_9 |
NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord,\ NaturalWord,NaturalWord,NaturalWord
Definition at line 294 of file Gen_RPC8.h.
#define AUTO_RPC_REF_ALIGN 16 |
Definition at line 274 of file Gen_RPC8.h.
#define AUTO_RPC_STACK_PADDING ( sizeof( NaturalWord ) / AUTO_RPC_REF_ALIGN ) |
Definition at line 276 of file Gen_RPC8.h.