Classes | Namespaces | Defines | Enumerations | Functions

Gen_RPC8.h File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <typeinfo>
#include <stddef.h>
#include "BitStream.h"
Include dependency graph for Gen_RPC8.h:
This graph shows which files directly or indirectly include this file:

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)

Detailed Description

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 Documentation

#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  ) 
Value:
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  ) 
Value:
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  ) 
Value:
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  ) 
Value:
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  ) 
Value:
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  ) 
Value:
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  ) 
Value:
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
Value:
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
Value:
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
Value:
NaturalWord,NaturalWord,\
        NaturalWord,NaturalWord,NaturalWord

Definition at line 298 of file Gen_RPC8.h.

#define AUTO_RPC_NW_6
Value:
NaturalWord,NaturalWord,NaturalWord,\
        NaturalWord,NaturalWord,NaturalWord

Definition at line 291 of file Gen_RPC8.h.

#define AUTO_RPC_NW_60
Value:
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
Value:
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
Value:
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.