- Main Page
- Modules
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- File List
- File Members

# RakNetTypes.h File Reference

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

`#include "RakNetDefines.h"`
`#include "RakNetTypes.h"`
`#include "Export.h"`

## Namespaces
namespace | RakNet
## Classes
struct | SocketDescriptor
| Describes the local socket to use for RakPeer::Startup. More...
struct | SystemAddress
| Unique identifier for a system. Corresponds to a network address. More...
struct | Packet
| This represents a user message from another system. More...
struct | RPCParameters
## 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.
#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. RPC member Functions MUST be marked __cdecl!
#define | UNREGISTER_STATIC_RPC(networkObject, functionName) (networkObject)->UnregisterAsRemoteProcedureCall((#functionName))
## Typedefs
typedef unsigned char | UniqueIDType
| See also: NetworkIDObject.h
typedef unsigned char | MessageID
| First byte of a network message.
## Variables
const SystemIndex | UNASSIGNED_PLAYER_INDEX = 65535
| Index of an unassigned player.
const SystemAddress | UNASSIGNED_SYSTEM_ADDRESS
| Index of an invalid SystemAddress.
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 Kevin Jenkins.

Usage of RakNet is subject to the appropriate license agreement. Creative Commons Licensees are subject to the license found at http://creativecommons.org/licenses/by-nc/2.5/ Single application licensees are subject to the license found at http://www.jenkinssoftware.com/SingleApplicationLicense.html Custom license users are subject to the terms therein. GPL license users are subject to the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.