/* Copyright 2004 Renzo Davoli * Reseased under the GPLv2 */ #include #include #include #include #include #include #include #include #include #include static int tun_alloc(char *dev) { struct ifstat ifs; int fd, err; if( (fd = open("/dev/tap", O_RDWR)) < 0 ) return (-1); memset(&ifs, 0, sizeof(ifs)); if( (err = ioctl(fd, SIOCGIFSTATUS, (void *) &ifs)) < 0 ){ close(fd); return err; } printf("ioctl returns\n"); puts(ifs.ascii); printf("ioctl idev\n"); return fd; } char interface[IFNAMSIZ]="tap0"; main() { tun_alloc(interface); pause(); }