Permalink
Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up| /* | |
| * TAP-Windows -- A kernel driver to provide virtual tap | |
| * device functionality on Windows. | |
| * | |
| * This code was inspired by the CIPE-Win32 driver by Damion K. Wilson. | |
| * | |
| * This source code is Copyright (C) 2002-2014 OpenVPN Technologies, Inc., | |
| * and is released under the GPL version 2 (see below). This particular file | |
| * (tap-windows.h) is also licensed using the MIT license (see COPYRIGHT.MIT). | |
| * | |
| * 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 | |
| */ | |
| #ifndef __TAP_WIN_H | |
| #define __TAP_WIN_H | |
| /* | |
| * ============= | |
| * TAP IOCTLs | |
| * ============= | |
| */ | |
| #define TAP_WIN_CONTROL_CODE(request,method) \ | |
| CTL_CODE (FILE_DEVICE_UNKNOWN, request, method, FILE_ANY_ACCESS) | |
| /* Present in 8.1 */ | |
| #define TAP_WIN_IOCTL_GET_MAC TAP_WIN_CONTROL_CODE (1, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_GET_VERSION TAP_WIN_CONTROL_CODE (2, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_GET_MTU TAP_WIN_CONTROL_CODE (3, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_GET_INFO TAP_WIN_CONTROL_CODE (4, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_CONFIG_POINT_TO_POINT TAP_WIN_CONTROL_CODE (5, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_SET_MEDIA_STATUS TAP_WIN_CONTROL_CODE (6, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_CONFIG_DHCP_MASQ TAP_WIN_CONTROL_CODE (7, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_GET_LOG_LINE TAP_WIN_CONTROL_CODE (8, METHOD_BUFFERED) | |
| #define TAP_WIN_IOCTL_CONFIG_DHCP_SET_OPT TAP_WIN_CONTROL_CODE (9, METHOD_BUFFERED) | |
| /* Added in 8.2 */ | |
| /* obsoletes TAP_WIN_IOCTL_CONFIG_POINT_TO_POINT */ | |
| #define TAP_WIN_IOCTL_CONFIG_TUN TAP_WIN_CONTROL_CODE (10, METHOD_BUFFERED) | |
| /* Control whether 802.1Q headers are added for priority */ | |
| #define TAP_WIN_IOCTL_PRIORITY_BEHAVIOR TAP_WIN_CONTROL_CODE (11, METHOD_BUFFERED) | |
| #define TAP_PRIORITY_BEHAVIOR_NOPRIORITY 0 | |
| #define TAP_PRIORITY_BEHAVIOR_ENABLED 1 | |
| #define TAP_PRIORITY_BEHAVIOR_ADDALWAYS 2 | |
| #define TAP_PRIORITY_BEHAVIOR_MAX 2 | |
| /* | |
| * ================= | |
| * Registry keys | |
| * ================= | |
| */ | |
| #define ADAPTER_KEY "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}" | |
| #define NETWORK_CONNECTIONS_KEY "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}" | |
| /* | |
| * ====================== | |
| * Filesystem prefixes | |
| * ====================== | |
| */ | |
| #define USERMODEDEVICEDIR "\\\\.\\Global\\" | |
| #define SYSDEVICEDIR "\\Device\\" | |
| #define USERDEVICEDIR "\\DosDevices\\Global\\" | |
| #define TAP_WIN_SUFFIX ".tap" | |
| #endif // __TAP_WIN_H |