* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
- * $Id: ifconfig.c,v 1.1 2001/02/14 08:11:27 andersen Exp $
+ * $Id: ifconfig.c,v 1.3 2001/02/20 06:14:07 andersen Exp $
*
*/
-#include "busybox.h"
-#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h> // strcmp and friends
#include <ctype.h> // isdigit and friends
+#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <linux/if_ether.h>
+#include "busybox.h"
static int sockfd; /* socket fd we use to manipulate stuff with */
char host[128];
if(argc < 2) {
- usage(ifconfig_usage);
+ show_usage();
}
/* Create a channel to the NET kernel. */
if (!strcmp(*spp, "metric")) {
if (*++spp == NULL)
- usage(ifconfig_usage);
+ show_usage();
ifr.ifr_metric = atoi(*spp);
if (ioctl(sockfd, SIOCSIFMETRIC, &ifr) < 0) {
fprintf(stderr, "SIOCSIFMETRIC: %s\n", strerror(errno));
}
if (!strcmp(*spp, "mtu")) {
if (*++spp == NULL)
- usage(ifconfig_usage);
+ show_usage();
ifr.ifr_mtu = atoi(*spp);
if (ioctl(sockfd, SIOCSIFMTU, &ifr) < 0) {
fprintf(stderr, "SIOCSIFMTU: %s\n", strerror(errno));
#ifdef SIOCSKEEPALIVE
if (!strcmp(*spp, "keepalive")) {
if (*++spp == NULL)
- usage(ifconfig_usage);
+ show_usage();
ifr.ifr_data = (caddr_t) atoi(*spp);
if (ioctl(sockfd, SIOCSKEEPALIVE, &ifr) < 0) {
fprintf(stderr, "SIOCSKEEPALIVE: %s\n", strerror(errno));
#ifdef SIOCSOUTFILL
if (!strcmp(*spp, "outfill")) {
if (*++spp == NULL)
- usage(ifconfig_usage);
+ show_usage();
ifr.ifr_data = (caddr_t) atoi(*spp);
if (ioctl(sockfd, SIOCSOUTFILL, &ifr) < 0) {
fprintf(stderr, "SIOCSOUTFILL: %s\n", strerror(errno));
}
if (!strcmp(*spp, "dstaddr")) {
if (*++spp == NULL)
- usage(ifconfig_usage);
+ show_usage();
safe_strncpy(host, *spp, (sizeof host));
if (INET_resolve(host, &sa) < 0) {
goterr++;
}
if (!strcmp(*spp, "netmask")) {
if (*++spp == NULL || didnetmask)
- usage(ifconfig_usage);
+ show_usage();
safe_strncpy(host, *spp, (sizeof host));
if (INET_resolve(host, &sa) < 0) {
goterr++;
if (!strcmp(*spp, "hw")) {
if (*++spp == NULL || strcmp("ether", *spp)) {
- usage(ifconfig_usage);
+ show_usage();
}
if (*++spp == NULL) {
safe_strncpy(host, *spp, (sizeof host));
if (INET_resolve(host, &sa) < 0) {
- usage(ifconfig_usage);
+ show_usage();
}
memcpy((char *) &ifr.ifr_addr,
(char *) &sa, sizeof(struct sockaddr));