1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>enet: protocol.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.1 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="classes.html"><span>Data Structures</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul></div>
<h1>protocol.h</h1><a href="protocol_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00005"></a>00005 <span class="preprocessor">#ifndef __ENET_PROTOCOL_H__</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __ENET_PROTOCOL_H__</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include "<a class="code" href="types_8h.html">enet/types.h</a>"</span>
<a name="l00009"></a>00009
<a name="l00010"></a>00010 <span class="keyword">enum</span>
<a name="l00011"></a>00011 {
<a name="l00012"></a>00012 ENET_PROTOCOL_MINIMUM_MTU = 576,
<a name="l00013"></a>00013 ENET_PROTOCOL_MAXIMUM_MTU = 4096,
<a name="l00014"></a>00014 ENET_PROTOCOL_MAXIMUM_PACKET_COMMANDS = 32,
<a name="l00015"></a>00015 ENET_PROTOCOL_MINIMUM_WINDOW_SIZE = 4096,
<a name="l00016"></a>00016 ENET_PROTOCOL_MAXIMUM_WINDOW_SIZE = 32768,
<a name="l00017"></a>00017 ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT = 1,
<a name="l00018"></a>00018 ENET_PROTOCOL_MAXIMUM_CHANNEL_COUNT = 255,
<a name="l00019"></a>00019 ENET_PROTOCOL_MAXIMUM_PEER_ID = 0x7FFF
<a name="l00020"></a>00020 };
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">typedef</span> <span class="keyword">enum</span>
<a name="l00023"></a>00023 {
<a name="l00024"></a>00024 ENET_PROTOCOL_COMMAND_NONE = 0,
<a name="l00025"></a>00025 ENET_PROTOCOL_COMMAND_ACKNOWLEDGE = 1,
<a name="l00026"></a>00026 ENET_PROTOCOL_COMMAND_CONNECT = 2,
<a name="l00027"></a>00027 ENET_PROTOCOL_COMMAND_VERIFY_CONNECT = 3,
<a name="l00028"></a>00028 ENET_PROTOCOL_COMMAND_DISCONNECT = 4,
<a name="l00029"></a>00029 ENET_PROTOCOL_COMMAND_PING = 5,
<a name="l00030"></a>00030 ENET_PROTOCOL_COMMAND_SEND_RELIABLE = 6,
<a name="l00031"></a>00031 ENET_PROTOCOL_COMMAND_SEND_UNRELIABLE = 7,
<a name="l00032"></a>00032 ENET_PROTOCOL_COMMAND_SEND_FRAGMENT = 8,
<a name="l00033"></a>00033 ENET_PROTOCOL_COMMAND_SEND_UNSEQUENCED = 9,
<a name="l00034"></a>00034 ENET_PROTOCOL_COMMAND_BANDWIDTH_LIMIT = 10,
<a name="l00035"></a>00035 ENET_PROTOCOL_COMMAND_THROTTLE_CONFIGURE = 11,
<a name="l00036"></a>00036 ENET_PROTOCOL_COMMAND_COUNT = 12,
<a name="l00037"></a>00037
<a name="l00038"></a>00038 ENET_PROTOCOL_COMMAND_MASK = 0x0F
<a name="l00039"></a>00039 } ENetProtocolCommand;
<a name="l00040"></a>00040
<a name="l00041"></a>00041 <span class="keyword">typedef</span> <span class="keyword">enum</span>
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043 ENET_PROTOCOL_COMMAND_FLAG_ACKNOWLEDGE = (1 << 7),
<a name="l00044"></a>00044 ENET_PROTOCOL_COMMAND_FLAG_UNSEQUENCED = (1 << 6),
<a name="l00045"></a>00045
<a name="l00046"></a>00046 ENET_PROTOCOL_HEADER_FLAG_SENT_TIME = (1 << 15),
<a name="l00047"></a>00047 ENET_PROTOCOL_HEADER_FLAG_MASK = 0x8000
<a name="l00048"></a>00048 } ENetProtocolFlag;
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00051"></a>00051 <span class="keyword"></span>{
<a name="l00052"></a>00052 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> checksum;
<a name="l00053"></a>00053 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> peerID;
<a name="l00054"></a>00054 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> sentTime;
<a name="l00055"></a>00055 } ENetProtocolHeader;
<a name="l00056"></a>00056
<a name="l00057"></a>00057 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00058"></a>00058 <span class="keyword"></span>{
<a name="l00059"></a>00059 <a class="code" href="types_8h.html#34ce80c65abc6389fe0121a83d757f07">enet_uint8</a> command;
<a name="l00060"></a>00060 <a class="code" href="types_8h.html#34ce80c65abc6389fe0121a83d757f07">enet_uint8</a> channelID;
<a name="l00061"></a>00061 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> reliableSequenceNumber;
<a name="l00062"></a>00062 } ENetProtocolCommandHeader;
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00065"></a>00065 <span class="keyword"></span>{
<a name="l00066"></a>00066 ENetProtocolCommandHeader header;
<a name="l00067"></a>00067 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> receivedReliableSequenceNumber;
<a name="l00068"></a>00068 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> receivedSentTime;
<a name="l00069"></a>00069 } ENetProtocolAcknowledge;
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00072"></a>00072 <span class="keyword"></span>{
<a name="l00073"></a>00073 ENetProtocolCommandHeader header;
<a name="l00074"></a>00074 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> outgoingPeerID;
<a name="l00075"></a>00075 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> mtu;
<a name="l00076"></a>00076 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> windowSize;
<a name="l00077"></a>00077 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> channelCount;
<a name="l00078"></a>00078 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> incomingBandwidth;
<a name="l00079"></a>00079 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> outgoingBandwidth;
<a name="l00080"></a>00080 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleInterval;
<a name="l00081"></a>00081 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleAcceleration;
<a name="l00082"></a>00082 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleDeceleration;
<a name="l00083"></a>00083 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> sessionID;
<a name="l00084"></a>00084 } ENetProtocolConnect;
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00087"></a>00087 <span class="keyword"></span>{
<a name="l00088"></a>00088 ENetProtocolCommandHeader header;
<a name="l00089"></a>00089 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> outgoingPeerID;
<a name="l00090"></a>00090 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> mtu;
<a name="l00091"></a>00091 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> windowSize;
<a name="l00092"></a>00092 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> channelCount;
<a name="l00093"></a>00093 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> incomingBandwidth;
<a name="l00094"></a>00094 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> outgoingBandwidth;
<a name="l00095"></a>00095 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleInterval;
<a name="l00096"></a>00096 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleAcceleration;
<a name="l00097"></a>00097 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleDeceleration;
<a name="l00098"></a>00098 } ENetProtocolVerifyConnect;
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00101"></a>00101 <span class="keyword"></span>{
<a name="l00102"></a>00102 ENetProtocolCommandHeader header;
<a name="l00103"></a>00103 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> incomingBandwidth;
<a name="l00104"></a>00104 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> outgoingBandwidth;
<a name="l00105"></a>00105 } ENetProtocolBandwidthLimit;
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00108"></a>00108 <span class="keyword"></span>{
<a name="l00109"></a>00109 ENetProtocolCommandHeader header;
<a name="l00110"></a>00110 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleInterval;
<a name="l00111"></a>00111 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleAcceleration;
<a name="l00112"></a>00112 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> packetThrottleDeceleration;
<a name="l00113"></a>00113 } ENetProtocolThrottleConfigure;
<a name="l00114"></a>00114
<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00116"></a>00116 <span class="keyword"></span>{
<a name="l00117"></a>00117 ENetProtocolCommandHeader header;
<a name="l00118"></a>00118 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> data;
<a name="l00119"></a>00119 } ENetProtocolDisconnect;
<a name="l00120"></a>00120
<a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00122"></a>00122 <span class="keyword"></span>{
<a name="l00123"></a>00123 ENetProtocolCommandHeader header;
<a name="l00124"></a>00124 } ENetProtocolPing;
<a name="l00125"></a>00125
<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00127"></a>00127 <span class="keyword"></span>{
<a name="l00128"></a>00128 ENetProtocolCommandHeader header;
<a name="l00129"></a>00129 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> dataLength;
<a name="l00130"></a>00130 } ENetProtocolSendReliable;
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00133"></a>00133 <span class="keyword"></span>{
<a name="l00134"></a>00134 ENetProtocolCommandHeader header;
<a name="l00135"></a>00135 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> unreliableSequenceNumber;
<a name="l00136"></a>00136 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> dataLength;
<a name="l00137"></a>00137 } ENetProtocolSendUnreliable;
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00140"></a>00140 <span class="keyword"></span>{
<a name="l00141"></a>00141 ENetProtocolCommandHeader header;
<a name="l00142"></a>00142 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> unsequencedGroup;
<a name="l00143"></a>00143 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> dataLength;
<a name="l00144"></a>00144 } ENetProtocolSendUnsequenced;
<a name="l00145"></a>00145
<a name="l00146"></a>00146 <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00147"></a>00147 <span class="keyword"></span>{
<a name="l00148"></a>00148 ENetProtocolCommandHeader header;
<a name="l00149"></a>00149 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> startSequenceNumber;
<a name="l00150"></a>00150 <a class="code" href="types_8h.html#245102585fdf31bdf208639ef47bec5d">enet_uint16</a> dataLength;
<a name="l00151"></a>00151 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> fragmentCount;
<a name="l00152"></a>00152 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> fragmentNumber;
<a name="l00153"></a>00153 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> totalLength;
<a name="l00154"></a>00154 <a class="code" href="types_8h.html#5273659ca3c664b8550452732e9e4ae3">enet_uint32</a> fragmentOffset;
<a name="l00155"></a>00155 } ENetProtocolSendFragment;
<a name="l00156"></a>00156
<a name="l00157"></a>00157 <span class="keyword">typedef</span> <span class="keyword">union</span>
<a name="l00158"></a>00158 <span class="keyword"></span>{
<a name="l00159"></a>00159 ENetProtocolCommandHeader header;
<a name="l00160"></a>00160 ENetProtocolAcknowledge acknowledge;
<a name="l00161"></a>00161 ENetProtocolConnect connect;
<a name="l00162"></a>00162 ENetProtocolVerifyConnect verifyConnect;
<a name="l00163"></a>00163 ENetProtocolDisconnect disconnect;
<a name="l00164"></a>00164 ENetProtocolPing ping;
<a name="l00165"></a>00165 ENetProtocolSendReliable sendReliable;
<a name="l00166"></a>00166 ENetProtocolSendUnreliable sendUnreliable;
<a name="l00167"></a>00167 ENetProtocolSendUnsequenced sendUnsequenced;
<a name="l00168"></a>00168 ENetProtocolSendFragment sendFragment;
<a name="l00169"></a>00169 ENetProtocolBandwidthLimit bandwidthLimit;
<a name="l00170"></a>00170 ENetProtocolThrottleConfigure throttleConfigure;
<a name="l00171"></a>00171 } ENetProtocol;
<a name="l00172"></a>00172
<a name="l00173"></a>00173 <span class="preprocessor">#endif </span><span class="comment">/* __ENET_PROTOCOL_H__ */</span>
<a name="l00174"></a>00174
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Jun 6 14:33:50 2007 for enet by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
</body>
</html>
|