diff options
author | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2005-09-26 05:28:27 +0000 |
---|---|---|
committer | james <james@e7ae566f-a301-0410-adde-c780ea21d3b5> | 2005-09-26 05:28:27 +0000 |
commit | 6fbf66fad3367b24fd6743bcd50254902fd9c8d5 (patch) | |
tree | 9802876e3771744eead18917bb47ff6e90ac39f5 /tap-win32/hexdump.c | |
download | openvpn-6fbf66fad3367b24fd6743bcd50254902fd9c8d5.tar.xz |
This is the start of the BETA21 branch.
It includes the --topology feature, and
TAP-Win32 driver changes to allow
non-admin access.
git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@580 e7ae566f-a301-0410-adde-c780ea21d3b5
Diffstat (limited to 'tap-win32/hexdump.c')
-rwxr-xr-x | tap-win32/hexdump.c | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tap-win32/hexdump.c b/tap-win32/hexdump.c new file mode 100755 index 0000000..69ca418 --- /dev/null +++ b/tap-win32/hexdump.c @@ -0,0 +1,73 @@ +/* + * TAP-Win32 -- A kernel driver to provide virtual tap device functionality + * on Windows. Originally derived from the CIPE-Win32 + * project by Damion K. Wilson, with extensive modifications by + * James Yonan. + * + * All source code which derives from the CIPE-Win32 project is + * Copyright (C) Damion K. Wilson, 2003, and is released under the + * GPL version 2 (see below). + * + * All other source code is Copyright (C) 2002-2005 OpenVPN Solutions LLC, + * and is released under the GPL version 2 (see below). + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING included with this + * distribution); if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "hexdump.h" + +#ifndef NDIS_MINIPORT_DRIVER + +VOID (*DbgMessage)(char *p_Format, ...) = DisplayDebugString; + +VOID DisplayDebugString (char *p_Format, ...) + { + static char l_Buffer [4096]; + + va_list l_ArgumentList; + va_start (l_ArgumentList, p_Format); + vsprintf (l_Buffer, p_Format, l_ArgumentList); + va_end (l_ArgumentList); + + OutputDebugStringA (l_Buffer); + } + +#endif + +VOID HexDump (unsigned char *p_Buffer, unsigned long p_Size) + { + unsigned long l_Index, l_Idx; + unsigned char l_Row [17]; + + for (l_Index = l_Row [16] = 0; l_Index < p_Size || l_Index % 16; ++l_Index) + { + if (l_Index % 16 == 0) + DEBUGP (("%05x ", l_Index)); + DEBUGP (("%02x ", l_Row [l_Index % 16] = (l_Index < p_Size ? p_Buffer [l_Index] : 0))); + l_Row [l_Index % 16] = IfPrint (l_Row [l_Index % 16]); + if ((l_Index + 1) % 16 == 0) + DEBUGP ((" %s\n", l_Row)); + } + + DEBUGP (("\n")); + } + +#ifdef __cplusplus +} +#endif |