File: protocol_8h-source.html

package info (click to toggle)
enet 1.1-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 1,328 kB
  • ctags: 1,427
  • sloc: sh: 3,463; ansic: 3,115; makefile: 79
file content (196 lines) | stat: -rw-r--r-- 15,268 bytes parent folder | download
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&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;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 &lt;&lt; 7),
<a name="l00044"></a>00044    ENET_PROTOCOL_COMMAND_FLAG_UNSEQUENCED = (1 &lt;&lt; 6),
<a name="l00045"></a>00045 
<a name="l00046"></a>00046    ENET_PROTOCOL_HEADER_FLAG_SENT_TIME = (1 &lt;&lt; 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&nbsp;
<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>