# 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 Corresponds to a network address This is not necessarily a unique identifier. For example, if a system has both LAN and internet connections, the system may be identified by either one, depending on who is communicating Use RakNetGUID for a unique per-instance of RakPeer to identify systems. 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.
#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
typedef unsigned char | MessageID
| First byte of a network message.
## Variables
const SystemAddress | UNASSIGNED_SYSTEM_ADDRESS
| Index of an invalid SystemAddress.
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 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.

## Typedef Documentation

typedef unsigned char UniqueIDType

See also:
  NetworkIDObject.h