X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fifconfig_src%2Fmain.c;h=3f7cfc4789f15cd0c205f309ed98b28faf730f35;hb=2904567b1901a524d44a136f06f2e6d7b5ce7db5;hp=5f50dac39b0cfa92452cf775f6854c5542fdd497;hpb=0c1bf884877e4b89eb224e91627508d42ca70974;p=tpg%2Facess2.git diff --git a/Usermode/Applications/ifconfig_src/main.c b/Usermode/Applications/ifconfig_src/main.c index 5f50dac3..3f7cfc47 100644 --- a/Usermode/Applications/ifconfig_src/main.c +++ b/Usermode/Applications/ifconfig_src/main.c @@ -205,6 +205,29 @@ int AddInterface(const char *Device) return ret; } +void AddRoute(const char *Interface, void *Dest, int MaskBits, void *NextHop) +{ + int fd; + int num; + char tmp[sizeof(IPSTACK_ROOT"/routes/") + 5]; // enough for 4 digits + + // Create route + fd = open(IPSTACK_ROOT"/routes", 0); + num = ioctl(fd, ioctl(fd, 3, "add_route"), Interface); + close(fd); + + // Open route + sprintf(tmp, IPSTACK_ROOT"/routes/%i", num); + fd = open(tmp, 0); + + ioctl(fd, ioctl(fd, 3, "set_network"), Dest); + ioctl(fd, ioctl(fd, 3, "set_nexthop"), NextHop); + ioctl(fd, ioctl(fd, 3, "getset_subnetbits"), &MaskBits); + + close(fd); + +} + /** * \note Debugging HACK! * \brief Autoconfigure the specified device to 10.0.2.55/8 using