USING: kernel alien alien.c-types io.sockets io.sockets.impl unix unix.linux.sockios unix.linux.if ; IN: unix.linux.ifreq : set-if-addr ( name addr -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFADDR rot ioctl drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : set-if-flags ( name flags -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFFLAGS rot ioctl drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : set-if-dst-addr ( name addr -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFDSTADDR rot ioctl drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : set-if-brd-addr ( name addr -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFBRDADDR rot ioctl drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : set-if-netmask ( name addr -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap 0 make-sockaddr over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFNETMASK rot ioctl drop ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : set-if-metric ( name metric -- ) "struct-ifreq" rot ascii string>alien over set-struct-ifreq-ifr-ifrn swap over set-struct-ifreq-ifr-ifru AF_INET SOCK_DGRAM 0 socket SIOCSIFMETRIC rot ioctl drop ;