From: Martin Willi Date: Fri, 12 Apr 2013 10:42:14 +0000 (+0200) Subject: tun_device: add a getter for the underlying file descriptor X-Git-Tag: 5.1.0dr1~153^2~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60babe02364de90737f91c56e16a54692e5cca9c;p=thirdparty%2Fstrongswan.git tun_device: add a getter for the underlying file descriptor --- diff --git a/src/libstrongswan/networking/tun_device.c b/src/libstrongswan/networking/tun_device.c index 691d96c8e0..b0be8688e6 100644 --- a/src/libstrongswan/networking/tun_device.c +++ b/src/libstrongswan/networking/tun_device.c @@ -192,6 +192,12 @@ METHOD(tun_device_t, get_name, char*, return this->if_name; } +METHOD(tun_device_t, get_fd, int, + private_tun_device_t *this) +{ + return this->tunfd; +} + METHOD(tun_device_t, write_packet, bool, private_tun_device_t *this, chunk_t packet) { @@ -398,6 +404,7 @@ tun_device_t *tun_device_create(const char *name_tmpl) .get_mtu = _get_mtu, .set_mtu = _set_mtu, .get_name = _get_name, + .get_fd = _get_fd, .set_address = _set_address, .up = _up, .destroy = _destroy, diff --git a/src/libstrongswan/networking/tun_device.h b/src/libstrongswan/networking/tun_device.h index b22a5d170e..3bdb02a5d3 100644 --- a/src/libstrongswan/networking/tun_device.h +++ b/src/libstrongswan/networking/tun_device.h @@ -94,6 +94,13 @@ struct tun_device_t { */ char *(*get_name)(tun_device_t *this); + /** + * Get the underlying tun file descriptor. + * + * @return file descriptor of this tun device + */ + int (*get_fd)(tun_device_t *this); + /** * Destroy a tun_device_t */