?? jitter_8h-source.html
字號:
<a name="l00242"></a>00242 <span class="preprocessor"> else{ \</span><a name="l00243"></a>00243 <span class="preprocessor"> emitm(&stream, 0x81, 1);\</span><a name="l00244"></a>00244 <span class="preprocessor"> emitm(&stream, 25 << 3 | r32, 1);\</span><a name="l00245"></a>00245 <span class="preprocessor"> emitm(&stream, i32, 4);}</span><a name="l00246"></a>00246 <span class="preprocessor"></span><a name="l00248"></a><a class="code" href="group__NPF__jitter.html#g42b8bbc156c89aef4676834480129221">00248</a> <span class="preprocessor">#define SHLib(r32, i8) \</span><a name="l00249"></a>00249 <span class="preprocessor"> emitm(&stream, 0xc1, 1);\</span><a name="l00250"></a>00250 <span class="preprocessor"> emitm(&stream, 7 << 5 | r32 & 0x7, 1);\</span><a name="l00251"></a>00251 <span class="preprocessor"> emitm(&stream, i8, 1);</span><a name="l00252"></a>00252 <span class="preprocessor"></span><a name="l00254"></a><a class="code" href="group__NPF__jitter.html#gba18f7228bd4b7775209dca22201f77f">00254</a> <span class="preprocessor">#define SHL_CLrb(dr32) \</span><a name="l00255"></a>00255 <span class="preprocessor"> emitm(&stream, 0xd3, 1);\</span><a name="l00256"></a>00256 <span class="preprocessor"> emitm(&stream, 7 << 5 | dr32 & 0x7, 1);</span><a name="l00257"></a>00257 <span class="preprocessor"></span><a name="l00259"></a><a class="code" href="group__NPF__jitter.html#g5b4c050f10f024995d4b721c1fc6f3d3">00259</a> <span class="preprocessor">#define SHRib(r32, i8) \</span><a name="l00260"></a>00260 <span class="preprocessor"> emitm(&stream, 0xc1, 1);\</span><a name="l00261"></a>00261 <span class="preprocessor"> emitm(&stream, 29 << 3 | r32 & 0x7, 1);\</span><a name="l00262"></a>00262 <span class="preprocessor"> emitm(&stream, i8, 1);</span><a name="l00263"></a>00263 <span class="preprocessor"></span><a name="l00265"></a><a class="code" href="group__NPF__jitter.html#g2c2cfe760fe83b9577ddcff9b87d8ab5">00265</a> <span class="preprocessor">#define SHR_CLrb(dr32) \</span><a name="l00266"></a>00266 <span class="preprocessor"> emitm(&stream, 0xd3, 1);\</span><a name="l00267"></a>00267 <span class="preprocessor"> emitm(&stream, 29 << 3 | dr32 & 0x7, 1);</span><a name="l00268"></a>00268 <span class="preprocessor"></span><a name="l00270"></a><a class="code" href="group__NPF__jitter.html#g032ba5ad2d179d6d8d1fe24457126621">00270</a> <span class="preprocessor">#define NEGd(r32) \</span><a name="l00271"></a>00271 <span class="preprocessor"> emitm(&stream, 0xf7, 1);\</span><a name="l00272"></a>00272 <span class="preprocessor"> emitm(&stream, 27 << 3 | r32 & 0x7, 1);</span><a name="l00273"></a>00273 <span class="preprocessor"></span><a name="l00275"></a><a class="code" href="group__NPF__jitter.html#gfaea7a7a2968bf20db43abae63b865fa">00275</a> <span class="preprocessor">#define CMPodd(dr32, sr32, off) \</span><a name="l00276"></a>00276 <span class="preprocessor"> emitm(&stream, 3 << 4 | 3 | 1 << 3, 1); \</span><a name="l00277"></a>00277 <span class="preprocessor"> emitm(&stream, 1 << 6 | (dr32 & 0x7) << 3 | sr32 & 0x7, 1);\</span><a name="l00278"></a>00278 <span class="preprocessor"> emitm(&stream, off, 1);</span><a name="l00279"></a>00279 <span class="preprocessor"></span><a name="l00281"></a><a class="code" href="group__NPF__jitter.html#gd2db4a7b20890227d0dfeccae16710e6">00281</a> <span class="preprocessor">#define CMPrd(dr32, sr32) \</span><a name="l00282"></a>00282 <span class="preprocessor"> emitm(&stream, 0x3b, 1); \</span><a name="l00283"></a>00283 <span class="preprocessor"> emitm(&stream, 3 << 6 | (dr32 & 0x7) << 3 | sr32 & 0x7, 1);</span><a name="l00284"></a>00284 <span class="preprocessor"></span><a name="l00286"></a><a class="code" href="group__NPF__jitter.html#g8bf965a6a78db5894fbee77707652516">00286</a> <span class="preprocessor">#define CMPid(dr32, i32) \</span><a name="l00287"></a>00287 <span class="preprocessor"> if (dr32 == EAX){ \</span><a name="l00288"></a>00288 <span class="preprocessor"> emitm(&stream, 0x3d, 1); \</span><a name="l00289"></a>00289 <span class="preprocessor"> emitm(&stream, i32, 4);} \</span><a name="l00290"></a>00290 <span class="preprocessor"> else{ \</span><a name="l00291"></a>00291 <span class="preprocessor"> emitm(&stream, 0x81, 1); \</span><a name="l00292"></a>00292 <span class="preprocessor"> emitm(&stream, 0x1f << 3 | (dr32 & 0x7), 1);\</span><a name="l00293"></a>00293 <span class="preprocessor"> emitm(&stream, i32, 4);}</span><a name="l00294"></a>00294 <span class="preprocessor"></span><a name="l00296"></a><a class="code" href="group__NPF__jitter.html#g2f57f0e5ef7e33157d7a7983be7a85ef">00296</a> <span class="preprocessor">#define JNEb(off8) \</span><a name="l00297"></a>00297 <span class="preprocessor"> emitm(&stream, 0x75, 1);\</span><a name="l00298"></a>00298 <span class="preprocessor"> emitm(&stream, off8, 1);</span><a name="l00299"></a>00299 <span class="preprocessor"></span><a name="l00301"></a><a class="code" href="group__NPF__jitter.html#g3ad47796cfcb6867e44b0f82c8906bee">00301</a> <span class="preprocessor">#define JE(off32) \</span><a name="l00302"></a>00302 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00303"></a>00303 <span class="preprocessor"> emitm(&stream, 0x84, 1);\</span><a name="l00304"></a>00304 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00305"></a>00305 <span class="preprocessor"></span><a name="l00307"></a><a class="code" href="group__NPF__jitter.html#g406f0ee4d13f16d867e48bae8c9ffba7">00307</a> <span class="preprocessor">#define JLE(off32) \</span><a name="l00308"></a>00308 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00309"></a>00309 <span class="preprocessor"> emitm(&stream, 0x8e, 1);\</span><a name="l00310"></a>00310 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00311"></a>00311 <span class="preprocessor"></span><a name="l00313"></a><a class="code" href="group__NPF__jitter.html#g0987b591887a2ea41c2ba108729f30cb">00313</a> <span class="preprocessor">#define JLEb(off8) \</span><a name="l00314"></a>00314 <span class="preprocessor"> emitm(&stream, 0x7e, 1);\</span><a name="l00315"></a>00315 <span class="preprocessor"> emitm(&stream, off8, 1);</span><a name="l00316"></a>00316 <span class="preprocessor"></span><a name="l00318"></a><a class="code" href="group__NPF__jitter.html#g714569f0abf518185dab9bbc44f61e26">00318</a> <span class="preprocessor">#define JA(off32) \</span><a name="l00319"></a>00319 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00320"></a>00320 <span class="preprocessor"> emitm(&stream, 0x87, 1);\</span><a name="l00321"></a>00321 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00322"></a>00322 <span class="preprocessor"></span> <a name="l00324"></a><a class="code" href="group__NPF__jitter.html#gfa60b85ba5e6d1180f7fb7c1843413d5">00324</a> <span class="preprocessor">#define JAE(off32) \</span><a name="l00325"></a>00325 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00326"></a>00326 <span class="preprocessor"> emitm(&stream, 0x83, 1);\</span><a name="l00327"></a>00327 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00328"></a>00328 <span class="preprocessor"></span><a name="l00330"></a><a class="code" href="group__NPF__jitter.html#gb7aa640b19ad1d6e32833b40ee963407">00330</a> <span class="preprocessor">#define JG(off32) \</span><a name="l00331"></a>00331 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00332"></a>00332 <span class="preprocessor"> emitm(&stream, 0x8f, 1);\</span><a name="l00333"></a>00333 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00334"></a>00334 <span class="preprocessor"></span><a name="l00336"></a><a class="code" href="group__NPF__jitter.html#g0b03c2a76f68eb3698320a001a5f5eae">00336</a> <span class="preprocessor">#define JGE(off32) \</span><a name="l00337"></a>00337 <span class="preprocessor"> emitm(&stream, 0x0f, 1);\</span><a name="l00338"></a>00338 <span class="preprocessor"> emitm(&stream, 0x8d, 1);\</span><a name="l00339"></a>00339 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00340"></a>00340 <span class="preprocessor"></span><a name="l00342"></a><a class="code" href="group__NPF__jitter.html#g76425614ab26cca1839d7378c0fd1c55">00342</a> <span class="preprocessor">#define JMP(off32) \</span><a name="l00343"></a>00343 <span class="preprocessor"> emitm(&stream, 0xe9, 1);\</span><a name="l00344"></a>00344 <span class="preprocessor"> emitm(&stream, off32, 4);</span><a name="l00345"></a>00345 <span class="preprocessor"></span><a name="l00350"></a>00350 <span class="comment">/**************************/</span><a name="l00351"></a>00351 <span class="comment">/* Prototypes */</span><a name="l00352"></a>00352 <span class="comment">/**************************/</span><a name="l00353"></a>00353 <a name="l00367"></a>00367 <a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a>* <a class="code" href="group__NPF__code.html#gb95019314e0cce415388272574f85ed7" title="BPF jitter, builds an x86 function from a BPF program.">BPF_jitter</a>(<span class="keyword">struct</span> bpf_insn *fp, INT nins);<a name="l00368"></a>00368 <a name="l00380"></a>00380 <a class="code" href="group__NPF__jitter.html#g55e96d93d223cecaa3c69437c1603c29" title="Prototype of a filtering function created by the jitter.">BPF_filter_function</a> <a class="code" href="group__NPF__code.html#gac4070271462268d182b0dbdbfcb1a88" title="Translates a set of BPF instructions in a set of x86 ones.">BPFtoX86</a>(<span class="keyword">struct</span> bpf_insn *ins, UINT nins, INT *mem);<a name="l00387"></a>00387 <span class="keywordtype">void</span> <a class="code" href="group__NPF__code.html#g8d441782c2295f2f71d32727dd3f28a0" title="Deletes a filtering function that was previously created by BPF_jitter().">BPF_Destroy_JIT_Filter</a>(<a class="code" href="structJIT__BPF__Filter.html" title="Structure describing a x86 filtering program created by the jitter.">JIT_BPF_Filter</a> *Filter);<a name="l00388"></a>00388 </pre></div></div><hr><p align="right"><img border="0" src="winpcap_small.gif" align="absbottom" width="91" height="27">documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2008CACE Technologies. All rights reserved.</p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -