Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ioctl(skfd, SIOCSIFFLAGS, &ifr);
- static int set_if_up(char *ifname, short flags)
- {
- return set_if_flags(ifname, flags | IFF_UP);
- }
- static int set_if_down(char *ifname, short flags)
- {
- return set_if_flags(ifname, flags & ~IFF_UP);
- }
- int sockfd;
- struct ifreq ifr;
- sockfd = socket(AF_INET, SOCK_DGRAM, 0);
- if (sockfd < 0)
- return;
- memset(&ifr, 0, sizeof ifr);
- strncpy(ifr.ifr_name, "eth0", IFNAMSIZ);
- ifr.ifr_flags |= IFF_UP;
- ioctl(sockfd, SIOCSIFFLAGS, &ifr);
- int skfd = -1; /* AF_INET socket for ioctl() calls.*/
- int set_if_flags(char *ifname, short flags)
- {
- struct ifreq ifr;
- int res = 0;
- ifr.ifr_flags = flags;
- strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
- if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
- printf("socket error %sn", strerror(errno));
- res = 1;
- goto out;
- }
- res = ioctl(skfd, SIOCSIFFLAGS, &ifr);
- if (res < 0) {
- printf("Interface '%s': Error: SIOCSIFFLAGS failed: %sn",
- ifname, strerror(errno));
- } else {
- printf("Interface '%s': flags set to %04X.n", ifname, flags);
- }
- out:
- return res;
- }
- int set_if_up(char *ifname, short flags)
- {
- return set_if_flags(ifname, flags | IFF_UP);
- }
- set_if_up("eth0", 1);
Add Comment
Please, Sign In to add comment