Путь: Toys/Net, команды версии: Ver.4 Ver.9 tunctl Комментарии в файле tunctl.c :
Исходный текст в файле tunctl.c #define FOR_tunctl #include "toys.h" #include <linux/if_tun.h> GLOBALS( char *u; ) void tunctl_main(void) { struct ifreq *ifr = (void *)toybuf; uid_t u = TT.u ? xgetuid(TT.u) : 0; int fd = xopen("/dev/net/tun", O_RDWR); // Associate filehandle with device ifr->ifr_flags = ((toys.optflags&FLAG_T) ? IFF_TUN : IFF_TAP)|IFF_NO_PI; strncpy(ifr->ifr_name, *toys.optargs, sizeof(ifr->ifr_name)); xioctl(fd, TUNSETIFF, toybuf); if (toys.optflags&FLAG_t) { xioctl(fd, TUNSETPERSIST, (void *)1); xioctl(fd, TUNSETOWNER, (void *)(long)u); } else xioctl(fd, TUNSETPERSIST, (void *)0); } |