From 60554f1baf5cf6ff86059657ae583bb36a5d17f4 Mon Sep 17 00:00:00 2001 From: emax Date: Mon, 8 Sep 2008 22:43:55 +0000 Subject: Add new TAPGIFNAME tap(4) character device ioctl. This is a convenient shortcut to obtain network interface name using file descriptor for character device. Obtained from: NetBSD MFC after: 1 week --- sys/net/if_tap.c | 6 ++++++ sys/net/if_tap.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index 84b8d70..0e0b25c 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -745,6 +745,12 @@ tapioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td *(int *)data = tapdebug; break; + case TAPGIFNAME: { + struct ifreq *ifr = (struct ifreq *) data; + + strlcpy(ifr->ifr_name, ifp->if_xname, IFNAMSIZ); + } break; + case FIONBIO: break; diff --git a/sys/net/if_tap.h b/sys/net/if_tap.h index 0086285..91feb2f 100644 --- a/sys/net/if_tap.h +++ b/sys/net/if_tap.h @@ -55,6 +55,7 @@ struct tapinfo { #define TAPGDEBUG _IOR('t', 89, int) #define TAPSIFINFO _IOW('t', 91, struct tapinfo) #define TAPGIFINFO _IOR('t', 92, struct tapinfo) +#define TAPGIFNAME _IOR('t', 93, struct ifreq) /* VMware ioctl's */ #define VMIO_SIOCSIFFLAGS _IOWINT('V', 0) -- cgit v1.1