📄 ethsock_8h-source.html
字号:
<a name="l00160"></a><a class="code" href="structPEthSocket_1_1Frame.html">00160</a> <span class="keyword">struct </span><a class="code" href="structPEthSocket_1_1Frame.html">Frame</a> {<a name="l00161"></a><a class="code" href="structPEthSocket_1_1Frame.html#m0">00161</a> <a class="code" href="unionPEthSocket_1_1Address.html">Address</a> <a class="code" href="structPEthSocket_1_1Frame.html#m0">dst_addr</a>;<a name="l00162"></a><a class="code" href="structPEthSocket_1_1Frame.html#m1">00162</a> <a class="code" href="unionPEthSocket_1_1Address.html">Address</a> <a class="code" href="structPEthSocket_1_1Frame.html#m1">src_addr</a>;00163 <span class="keyword">union </span>{00164 <span class="keyword">struct </span>{00165 WORD <a class="code" href="structPEthSocket_1_1Frame.html#m2">type</a>;00166 BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m3">payload</a>[1500];00167 } <a class="code" href="structPEthSocket_1_1Frame.html#m4">ether</a>;00168 <span class="keyword">struct </span>{<a name="l00169"></a><a class="code" href="structPEthSocket_1_1Frame.html#m5">00169</a> WORD <a class="code" href="structPEthSocket_1_1Frame.html#m5">length</a>;<a name="l00170"></a><a class="code" href="structPEthSocket_1_1Frame.html#m6">00170</a> BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m6">dsap</a>;<a name="l00171"></a><a class="code" href="structPEthSocket_1_1Frame.html#m7">00171</a> BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m7">ssap</a>;<a name="l00172"></a><a class="code" href="structPEthSocket_1_1Frame.html#m8">00172</a> BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m8">ctrl</a>;<a name="l00173"></a><a class="code" href="structPEthSocket_1_1Frame.html#m9">00173</a> BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m9">oui</a>[3];<a name="l00174"></a><a class="code" href="structPEthSocket_1_1Frame.html#m2">00174</a> WORD <a class="code" href="structPEthSocket_1_1Frame.html#m2">type</a>;<a name="l00175"></a><a class="code" href="structPEthSocket_1_1Frame.html#m3">00175</a> BYTE <a class="code" href="structPEthSocket_1_1Frame.html#m3">payload</a>[1492];00176 } <a class="code" href="structPEthSocket_1_1Frame.html#m10">snap</a>;00177 };00178 00183 <span class="keywordtype">void</span> <a class="code" href="structPEthSocket_1_1Frame.html#a0">Parse</a>(00184 WORD & <a class="code" href="structPEthSocket_1_1Frame.html#m2">type</a>, <span class="comment">// Type of frame</span>00185 BYTE * & <a class="code" href="structPEthSocket_1_1Frame.html#m3">payload</a>, <span class="comment">// Pointer to payload</span>00186 PINDEX & <a class="code" href="structPEthSocket_1_1Frame.html#m5">length</a> <span class="comment">// Length of payload (on input is full frame length)</span>00187 );00188 };00189 <span class="preprocessor">#pragma pack()</span>00190 <span class="preprocessor"></span>00198 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#z115_0">Close</a>();00199 00212 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#z115_1">Read</a>(00213 <span class="keywordtype">void</span> * buf, 00214 PINDEX len 00215 );00216 00228 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#z115_2">Write</a>(00229 <span class="keyword">const</span> <span class="keywordtype">void</span> * buf, 00230 PINDEX len 00231 );00233 00243 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#z117_0">Connect</a>(00244 <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> & address 00245 );00246 00253 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#z117_1">Listen</a>(00254 <span class="keywordtype">unsigned</span> queueSize = 5, 00255 WORD <a class="code" href="classPSocket.html#n0">port</a> = 0, 00256 <a class="code" href="classPSocket.html#z369_0">Reusability</a> reuse = <a class="code" href="classPSocket.html#z369_0s1">AddressIsExclusive</a> 00257 );00259 00260 00273 BOOL <a class="code" href="classPEthSocket.html#z119_1">EnumInterfaces</a>(00274 PINDEX idx, 00275 <a class="code" href="classPString.html">PString</a> & name 00276 );00277 00278 00284 BOOL <a class="code" href="classPEthSocket.html#z119_2">GetAddress</a>(00285 Address & addr 00286 );00287 00293 BOOL <a class="code" href="classPEthSocket.html#z119_3">GetIpAddress</a>(00294 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & addr 00295 );00296 00303 BOOL <a class="code" href="classPEthSocket.html#z119_3">GetIpAddress</a>(00304 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & addr, 00305 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & netMask 00306 );00307 00317 BOOL <a class="code" href="classPEthSocket.html#z119_5">EnumIpAddress</a>(00318 PINDEX idx, 00319 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & addr, 00320 <a class="code" href="classPIPSocket_1_1Address.html">PIPSocket::Address</a> & netMask 00321 );00322 00323 <a name="l00325"></a><a class="code" href="classPEthSocket.html#z119_0">00325</a> <span class="keyword">enum</span> <a class="code" href="classPEthSocket.html#z119_0">MediumTypes</a> {00327 <a class="code" href="classPEthSocket.html#z119_0s0">MediumLoop</a>, 00329 <a class="code" href="classPEthSocket.html#z119_0s1">Medium802_3</a>, 00331 <a class="code" href="classPEthSocket.html#z119_0s2">MediumWan</a>, 00333 <a class="code" href="classPEthSocket.html#z119_0s3">MediumUnknown</a>, 00334 <a class="code" href="classPEthSocket.html#z119_0s4">NumMediumTypes</a>00335 };00341 <a class="code" href="classPEthSocket.html#z119_0">MediumTypes</a> <a class="code" href="classPEthSocket.html#z119_6">GetMedium</a>();00343 00344 00347 <a name="l00348"></a><a class="code" href="classPEthSocket.html#z121_0">00348</a> <span class="keyword">enum</span> <a class="code" href="classPEthSocket.html#z121_0">EthTypes</a> {00350 <a class="code" href="classPEthSocket.html#z121_0s5">TypeAll</a> = 3, 00352 <a class="code" href="classPEthSocket.html#z121_0s6">TypeIP</a> = 0x800, 00354 <a class="code" href="classPEthSocket.html#z121_0s7">TypeX25</a> = 0x805, 00356 <a class="code" href="classPEthSocket.html#z121_0s8">TypeARP</a> = 0x806, 00358 <a class="code" href="classPEthSocket.html#z121_0s9">TypeAtalk</a> = 0x809B, 00360 <a class="code" href="classPEthSocket.html#z121_0s10">TypeAARP</a> = 0x80F3, 00362 <a class="code" href="classPEthSocket.html#z121_0s11">TypeIPX</a> = 0x8137, 00364 <a class="code" href="classPEthSocket.html#z121_0s12">TypeIPv6</a> = 0x86DD 00365 };00366 <a name="l00368"></a><a class="code" href="classPEthSocket.html#z121_1">00368</a> <span class="keyword">enum</span> <a class="code" href="classPEthSocket.html#z121_1">FilterMask</a> {00370 <a class="code" href="classPEthSocket.html#z121_1s13">FilterDirected</a> = 0x01, 00372 <a class="code" href="classPEthSocket.html#z121_1s14">FilterMulticast</a> = 0x02, 00374 <a class="code" href="classPEthSocket.html#z121_1s15">FilterAllMulticast</a> = 0x04, 00376 <a class="code" href="classPEthSocket.html#z121_1s16">FilterBroadcast</a> = 0x08, 00378 <a class="code" href="classPEthSocket.html#z121_1s17">FilterPromiscuous</a> = 0x10 00379 };00380 00392 BOOL <a class="code" href="classPEthSocket.html#z121_2">GetFilter</a>(00393 <span class="keywordtype">unsigned</span> & mask, 00394 WORD & type 00395 );00396 00409 BOOL <a class="code" href="classPEthSocket.html#z121_3">SetFilter</a>(00410 <span class="keywordtype">unsigned</span> mask, 00411 WORD type = <a class="code" href="classPEthSocket.html#z121_0s5">TypeAll</a> 00412 );00414 00415 00420 BOOL <a class="code" href="classPEthSocket.html#z123_0">ResetAdaptor</a>();00421 00429 BOOL <a class="code" href="classPEthSocket.html#z123_1">ReadPacket</a>(00430 <a class="code" href="classPBYTEArray.html">PBYTEArray</a> & buffer, 00431 Address & dest, 00432 Address & src, 00433 WORD & type, 00434 PINDEX & len, 00435 BYTE * & payload 00436 );00438 00439 <span class="keyword">protected</span>:00440 <span class="keyword">virtual</span> BOOL <a class="code" href="classPEthSocket.html#b0">OpenSocket</a>();00441 <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="classPEthSocket.html#b1">GetProtocolName</a>() <span class="keyword">const</span>;00442 00443 <a name="l00444"></a><a class="code" href="classPEthSocket.html#n0">00444</a> WORD <a class="code" href="classPEthSocket.html#n0">filterType</a>; <span class="comment">// Remember the set filter frame type</span>00445 00446 00447 <span class="comment">// Include platform dependent part of class</span>00448 <span class="preprocessor">#ifdef _WIN32</span>00449 <span class="preprocessor"></span><span class="preprocessor">#include "msos/ptlib/ethsock.h"</span>00450 <span class="preprocessor">#else</span>00451 <span class="preprocessor"></span><span class="preprocessor">#include "unix/ptlib/ethsock.h"</span>00452 <span class="preprocessor">#endif</span>00453 <span class="preprocessor"></span>};00454 00455 <span class="preprocessor">#endif</span>00456 <span class="preprocessor"></span>00457 <span class="comment">// End Of File ///////////////////////////////////////////////////////////////</span></pre></div><hr><address style="align: right;"><small>Generated on Wed Sep 29 22:44:10 2004 for PWLib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -