# RakNetTypes.h File Reference

Types used by RakNet, most of which involve user code. More...

`#include "RakNetDefines.h"`
`#include "NativeTypes.h"`
`#include "RakNetTime.h"`
`#include "Export.h"`

## Classes
struct | SocketDescriptor
| Describes the local socket to use for RakPeer::Startup. More...
struct | SystemAddress
| Network address for a system. More...
struct | RPCParameters
struct | RakNetGUID
struct | Packet
| This represents a user message from another system. More...
## Namespaces
namespace | RakNet
| Forward declaration.

## Defines
#define | BITS_TO_BYTES(x) (((x)+7)>>3)
| Given a number of bits, return how many bytes are needed to represent that.
#define | SystemAddress_Size 6
| Size of SystemAddress data.
#define | REGISTER_STATIC_RPC(networkObject, functionName) (networkObject)->RegisterAsRemoteProcedureCall((#functionName),(functionName))
| RPC Function Implementation Use RPC3.
#define | CLASS_MEMBER_ID(className, functionName) #className "_" #functionName
| Concatenate two strings.
#define | REGISTER_CLASS_MEMBER_RPC(networkObject, className, functionName) {union {void (__cdecl className::*cFunc)( RPCParameters *rpcParms ); void* voidFunc;}; cFunc=&className::functionName; networkObject->RegisterClassMemberRPC(CLASS_MEMBER_ID(className, functionName),voidFunc);}
| Register a member function of an instantiated object as a Remote procedure call.
#define | UNREGISTER_STATIC_RPC(networkObject, functionName) (networkObject)->UnregisterAsRemoteProcedureCall((#functionName))
## Typedefs
typedef unsigned char | UniqueIDType
typedef unsigned char | MessageID
| First byte of a network message.
## Functions
const SystemAddress | UNASSIGNED_SYSTEM_ADDRESS (0xFFFFFFFF, 0xFFFF)
| Index of an invalid SystemAddress.
## Variables
const SystemIndex | UNASSIGNED_PLAYER_INDEX = 65535
| Index of an unassigned player.
const NetworkID | UNASSIGNED_NETWORK_ID
| Unassigned object ID.

## Detailed Description

Types used by RakNet, most of which involve user code.

This file is part of RakNet Copyright 2003 Jenkins Software LLC

Usage of RakNet is subject to the appropriate license agreement.

## Typedef Documentation

typedef unsigned char UniqueIDType

See also:
  NetworkIDObject.h