-- (c) William Welch 2005 -- -- This software is provided 'as-is', without any express or implied -- warranty. In no event will the authors be held liable for any damages -- arising from the use of this software. -- -- Permission is granted to anyone to use this software for any purpose, -- including commercial applications, and to alter it and redistribute it -- freely, subject to the following restrictions: -- -- 1. The origin of this software must not be misrepresented; -- you must not claim that you wrote the original software. -- If you use this software in a product, an acknowledgment in -- the product documentation would be appreciated but is not required. -- -- 2. Altered source versions must be plainly marked as such, and must -- not be misrepresented as being the original software. -- -- 3. This notice may not be removed or altered from any source distribution. -- -- This license is commonly known as the zlib/libpng License. -- -- william welch 7 march 2005. See RFC 826 for details on ARP. -- revised 18 march 2005 function arp_is_for_me return bit is var byte i -- make sure it is an arp request if ! MemComp16Ex ( PKT , 12 , 6 , 8 ) then return false end if if MemRdEx ( PKT , 21 ) != 1 then return false end if -- matching my ip address if MemCompEx ( PKT , 38 , MYIP , 0 , 4 ) == false then return false end if return true end function procedure arp_reply is var byte i, t MemCpyEx ( PKT , 0 , PKT , 6 , 6) MemCpyEx ( PKT , 32 , PKT , 6 , 6) MemCpyEx ( PKT , 6 , MYMAC , 0 , 6 ) MemCpyEx ( PKT , 22 , MYMAC , 0 , 6 ) MemWrEx ( PKT , 21 , 2 ) MemCpyEx ( PKT , 38 , PKT , 28 , 4 ) MemCpyEx ( PKT , 28 , MYIP , 0 , 4 ) net_txpkt ( 0 , 42 ) end procedure