diff options
Diffstat (limited to 'src/libstrongswan/utils/tun_device.h')
-rw-r--r-- | src/libstrongswan/utils/tun_device.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/libstrongswan/utils/tun_device.h b/src/libstrongswan/utils/tun_device.h deleted file mode 100644 index 71af0386b..000000000 --- a/src/libstrongswan/utils/tun_device.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2012 Tobias Brunner - * Copyright (C) 2012 Giuliano Grassi - * Copyright (C) 2012 Ralf Sager - * Hochschule fuer Technik Rapperswil - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>. - * - * 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. - */ - -/** - * @defgroup tun_device tun_device - * @{ @ingroup utils - */ - -#ifndef TUN_DEVICE_H_ -#define TUN_DEVICE_H_ - -#include <library.h> -#include <utils/host.h> - -typedef struct tun_device_t tun_device_t; - -/** - * Class to create TUN devices - * - * Creating such a device requires the CAP_NET_ADMIN capability. - * - * @note The implementation is currently very Linux specific - */ -struct tun_device_t { - - /** - * Read a packet from the TUN device - * - * @note This call blocks until a packet is available. It is a thread - * cancellation point. - * - * @param packet the packet read from the device - * @return TRUE if successful - */ - bool (*read_packet)(tun_device_t *this, chunk_t *packet); - - /** - * Write a packet to the TUN device - * - * @param packet the packet to write to the TUN device - * @return TRUE if successful - */ - bool (*write_packet)(tun_device_t *this, chunk_t packet); - - /** - * Set the IP address of the device - * - * @param addr the desired interface address - * @param netmask the netmask to use - * @return TRUE if operation successful - */ - bool (*set_address)(tun_device_t *this, host_t *addr, u_int8_t netmask); - - /** - * Bring the TUN device up - * - * @return TRUE if operation successful - */ - bool (*up)(tun_device_t *this); - - /** - * Set the MTU for this TUN device - * - * @param mtu new MTU - * @return TRUE if operation successful - */ - bool (*set_mtu)(tun_device_t *this, int mtu); - - /** - * Get the current MTU for this TUN device - * - * @return current MTU - */ - int (*get_mtu)(tun_device_t *this); - - /** - * Get the interface name of this device - * - * @return interface name - */ - char *(*get_name)(tun_device_t *this); - - /** - * Destroy a tun_device_t - */ - void (*destroy)(tun_device_t *this); - -}; - -/** - * Create a TUN device using the given name template. - * - * @param name_tmpl name template, defaults to "tun%d" if not given - * @return TUN device - */ -tun_device_t *tun_device_create(const char *name_tmpl); - -#endif /** TUN_DEVICE_H_ @}*/ |