📄 group__npf__code.html
字号:
<!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>WinPcap: NPF functions</title><link href="style.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="main.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><h1>NPF functions<br><small>[<a class="el" href="group__NPF.html">NPF driver internals manual</a>]</small></h1><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g6502d781bd20234a06710b92d540baba">DriverEntry</a> (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The initialization routine of the driver. <a href="#g6502d781bd20234a06710b92d540baba"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PWCHAR </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gfc395636686df00f554efbd2010f73cb">getAdaptersList</a> (VOID)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the list of the MACs available on the system. <a href="#gfc395636686df00f554efbd2010f73cb"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PKEY_VALUE_PARTIAL_INFORMATION </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gcf0e32b371eb9283e5cf1de0dfb15629">getTcpBindings</a> (VOID)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the MACs that bind to TCP/IP. <a href="#gcf0e32b371eb9283e5cf1de0dfb15629"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">BOOLEAN </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g8b4f23818c00c1186aa0bc59b57ff6c6">createDevice</a> (IN OUT PDRIVER_OBJECT adriverObjectP, IN PUNICODE_STRING amacNameP, NDIS_HANDLE aProtoHandle)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a device for a given MAC. <a href="#g8b4f23818c00c1186aa0bc59b57ff6c6"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g82e557625e52fe4395bbe2e494fe8c4a">NPF_Open</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a new instance of the driver. <a href="#g82e557625e52fe4395bbe2e494fe8c4a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g155ae51be29c6d36f8109781b8f6e7b2">NPF_OpenAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN NDIS_STATUS OpenErrorStatus)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the opening of an adapter. <a href="#g155ae51be29c6d36f8109781b8f6e7b2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gfae94a0e7fda8de180cff6e596cc2803">NPF_Cleanup</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Closes an instance of the driver. <a href="#gfae94a0e7fda8de180cff6e596cc2803"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gf8b70be389645c912cf09f1e9ea4b975">NPF_Close</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g300118a9a6cc28c2c880f6bb39d86b53">NPF_CloseAdapterComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the closing of an adapter. <a href="#g300118a9a6cc28c2c880f6bb39d86b53"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NDIS_STATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g92f84ced372baf09f1c00a6b252a0564">NPF_tap</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE MacReceiveContext, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookAheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback invoked by NDIS when a packet arrives from the network. <a href="#g92f84ced372baf09f1c00a6b252a0564"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g0c34f931d6718be202c7c62406f279fd">NPF_TransferDataComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends the transfer of a packet. <a href="#g0c34f931d6718be202c7c62406f279fd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ge7863db01a628ed11324c49953195855">NPF_ReceiveComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback function that signals the end of a packet reception. <a href="#ge7863db01a628ed11324c49953195855"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gd8b208720b6e5149dabcd7fb058b16f7">NPF_IoControl</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Handles the IOCTL calls. <a href="#gd8b208720b6e5149dabcd7fb058b16f7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g4ff37c0fd3273f829a1f84b9ab40755b">NPF_RequestComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_REQUEST pRequest, IN NDIS_STATUS Status)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends an OID request. <a href="#g4ff37c0fd3273f829a1f84b9ab40755b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g595338435296a4d1e15363ebfcb3a38c">NPF_Write</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Writes a raw packet to the network. <a href="#g595338435296a4d1e15363ebfcb3a38c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">INT </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g9a97dd25ae757da4bfed3723a4eb4bce">NPF_BufferedWrite</a> (IN PIRP Irp, IN PCHAR UserBuff, IN ULONG UserBuffSize, BOOLEAN sync)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Writes a buffer of raw packets to the network. <a href="#g9a97dd25ae757da4bfed3723a4eb4bce"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g8861b474efcb6578c9fe2075ff3e6aef">NPF_WaitEndOfBufferedWrite</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Waits the completion of all the sends performed by NPF_BufferedWrite. <a href="#g8861b474efcb6578c9fe2075ff3e6aef"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ged126572458eed2dcd18d1824ac86601">NPF_SendComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET pPacket, IN NDIS_STATUS Status)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends a send operation. <a href="#ged126572458eed2dcd18d1824ac86601"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g4e7934d9adb1826ed5e9112b9182f74a">NPF_ResetComplete</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Ends a reset of the adapter. <a href="#g4e7934d9adb1826ed5e9112b9182f74a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g1a8cf4fdeed6e93fcf1f50da654402b7">NPF_Status</a> (IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status, IN PVOID StatusBuffer, IN UINT StatusBufferSize)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for NDIS StatusHandler. Not used by NPF. <a href="#g1a8cf4fdeed6e93fcf1f50da654402b7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g70f97109adcd6de8b157534e5ecf2e56">NPF_StatusComplete</a> (IN NDIS_HANDLE ProtocolBindingContext)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for NDIS StatusCompleteHandler. Not used by NPF. <a href="#g70f97109adcd6de8b157534e5ecf2e56"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g5eb5a8e754198d1bbc6572cbc9e59b9c">NPF_Unload</a> (IN PDRIVER_OBJECT DriverObject)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Function called by the OS when NPF is unloaded. <a href="#g5eb5a8e754198d1bbc6572cbc9e59b9c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g827b1433b2d08cbac11b3844d721668f">NPF_Read</a> (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Function that serves the user's reads. <a href="#g827b1433b2d08cbac11b3844d721668f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g1a3ce25625792c74e5792b8fa86a489c">NPF_ReadRegistry</a> (IN PWSTR *MacDriverName, IN PWSTR *PacketDriverName, IN PUNICODE_STRING RegistryPath)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Reads the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="#g1a3ce25625792c74e5792b8fa86a489c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g8831b54dcd5361e81ddf0d3165f1fb8f">NPF_QueryRegistryRoutine</a> (IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Function used by <a class="el" href="group__NPF__code.html#g1a3ce25625792c74e5792b8fa86a489c">NPF_ReadRegistry()</a> to quesry the registry keys associated woth NPF if the driver is manually installed via the control panel. <a href="#g8831b54dcd5361e81ddf0d3165f1fb8f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g9a78f9937b2d7d00250f49dcaeb5bab0">NPF_BindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for NDIS BindAdapterHandler. Not used by NPF. <a href="#g9a78f9937b2d7d00250f49dcaeb5bab0"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g54d94e883ff4c580289eefaf0d1fc356">NPF_UnbindAdapter</a> (OUT PNDIS_STATUS Status, IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE UnbindContext)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Callback for NDIS UnbindAdapterHandler. <a href="#g54d94e883ff4c580289eefaf0d1fc356"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#ge3d1118c72b474fe214517a65afdfe09">NPF_OpenDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open, PUNICODE_STRING fileName, BOOLEAN append)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Creates the file that will receive the packets when the driver is in dump mode. <a href="#ge3d1118c72b474fe214517a65afdfe09"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#geffce124cbc3e3ae09bd7a6d10367cbb">NPF_StartDump</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Starts dump to file. <a href="#geffce124cbc3e3ae09bd7a6d10367cbb"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g1566082cef91cf79ba4a855e3f44ede9">NPF_DumpThread</a> (PVOID Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">The dump thread. <a href="#g1566082cef91cf79ba4a855e3f44ede9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gfcdcf5a4d9bfb8fbdb179963d4c789bd">NPF_SaveCurrentBuffer</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Saves the content of the packet buffer to the file associated with current instance. <a href="#gfcdcf5a4d9bfb8fbdb179963d4c789bd"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g57b9ee7752f00c8858bda8ca060a033b">NPF_WriteDumpFile</a> (PFILE_OBJECT FileObject, PLARGE_INTEGER Offset, ULONG Length, PMDL Mdl, PIO_STATUS_BLOCK IoStatusBlock)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Writes a block of packets on the dump file. <a href="#g57b9ee7752f00c8858bda8ca060a033b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gc911742b9f71c12c77452614db14c4a1">NPF_CloseDumpFile</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Closes the dump file associated with an instance of the driver. <a href="#gc911742b9f71c12c77452614db14c4a1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gb282095d6b161cba67f29f5b59de06a6">NPF_CloseOpenInstance</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">BOOLEAN </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g64dab96bfced5d22cc55a42fc6339833">NPF_StartUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gcd54077d4c2d9186486d3504523ba4f0">NPF_StopUsingBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">VOID </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g76d4e48415cea8e0e65ba93d7355b89f">NPF_CloseBinding</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">NTSTATUS </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g8bad85679d2e8c57f7501052f9b07284">NPF_GetDeviceMTU</a> (IN <a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> pOpen, IN PIRP pIrp, OUT PUINT pMtu)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gdd6737f745e21b37b8613b489a96687d">GetBuffOccupation</a> (<a class="el" href="struct__OPEN__INSTANCE.html">POPEN_INSTANCE</a> Open)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the amount of bytes present in the packet buffer. <a href="#gdd6737f745e21b37b8613b489a96687d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gb95019314e0cce415388272574f85ed7">BPF_jitter</a> (struct bpf_insn *fp, INT nins)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">BPF jitter, builds an x86 function from a BPF program. <a href="#gb95019314e0cce415388272574f85ed7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__NPF.html#ge8a6f0f4b1137f0f68bd759ad4edca32">BPF_filter_function</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#gac4070271462268d182b0dbdbfcb1a88">BPFtoX86</a> (struct bpf_insn *ins, UINT nins, INT *mem)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Translates a set of BPF instructions in a set of x86 ones. <a href="#gac4070271462268d182b0dbdbfcb1a88"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__NPF__code.html#g8d441782c2295f2f71d32727dd3f28a0">BPF_Destroy_JIT_Filter</a> (<a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> *Filter)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes a filtering function that was previously created by <a class="el" href="group__NPF__code.html#gb95019314e0cce415388272574f85ed7">BPF_jitter()</a>. <a href="#g8d441782c2295f2f71d32727dd3f28a0"></a><br></td></tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="g8d441782c2295f2f71d32727dd3f28a0"></a><!-- doxytag: member="jitter.h::BPF_Destroy_JIT_Filter" ref="g8d441782c2295f2f71d32727dd3f28a0" args="(JIT_BPF_Filter *Filter)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void BPF_Destroy_JIT_Filter </td> <td>(</td> <td class="paramtype"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> * </td> <td class="paramname"> <em>Filter</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p>Deletes a filtering function that was previously created by <a class="el" href="group__NPF__code.html#gb95019314e0cce415388272574f85ed7">BPF_jitter()</a>. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>Filter</em> </td><td>The filter to destroy.</td></tr> </table></dl>This function frees the variuos buffers (code, memory, etc.) associated with a filtering function. </div></div><p><a class="anchor" name="gb95019314e0cce415388272574f85ed7"></a><!-- doxytag: member="jitter.h::BPF_jitter" ref="gb95019314e0cce415388272574f85ed7" args="(struct bpf_insn *fp, INT nins)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a>* BPF_jitter </td> <td>(</td> <td class="paramtype">struct bpf_insn * </td> <td class="paramname"> <em>fp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">INT </td> <td class="paramname"> <em>nins</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p>BPF jitter, builds an x86 function from a BPF program. <p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fp</em> </td><td>The BPF pseudo-assembly filter that will be translated into x86 code. </td></tr> <tr><td valign="top"></td><td valign="top"><em>nins</em> </td><td>Number of instructions of the input filter. </td></tr> </table></dl><dl class="return" compact><dt><b>Returns:</b></dt><dd>The <a class="el" href="structJIT__BPF__Filter.html">JIT_BPF_Filter</a> structure containing the x86 filtering binary.</dd></dl>BPF_jitter allocates the buffers for the new native filter and then translates the program pointed by fp calling <a class="el" href="group__NPF__code.html#gac4070271462268d182b0dbdbfcb1a88">BPFtoX86()</a>. </div></div><p><a class="anchor" name="gac4070271462268d182b0dbdbfcb1a88"></a><!-- doxytag: member="jitter.h::BPFtoX86" ref="gac4070271462268d182b0dbdbfcb1a88" args="(struct bpf_insn *ins, UINT nins, INT *mem)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__NPF.html#ge8a6f0f4b1137f0f68bd759ad4edca32">BPF_filter_function</a> BPFtoX86 </td> <td>(</td> <td class="paramtype">struct bpf_insn * </td> <td class="paramname"> <em>ins</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">UINT </td> <td class="paramname"> <em>nins</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">INT * </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -