+++ /dev/null
-
-#include "commands.h"
-
-
-int do_netconf_set (int argc, const char **argv, struct ngadmin *nga)
-{
- int i, k, ret = 0;
- const struct swi_attr *sa;
- struct net_conf nc;
-
-
- if (argc == 0) {
- printf("usage: netconf set [dhcp yes|no] [ip <ip>] [mask <mask>] [gw <gw>]\n");
- return 1;
- }
-
- sa = ngadmin_getCurrentSwitch(nga);
- if (sa == NULL) {
- printf("must be logged\n");
- return 1;
- }
-
- memset(&nc, 0, sizeof(struct net_conf));
-
- for (k = 0; k < argc; k += 2) {
- if (strcasecmp(argv[k], "dhcp") == 0) {
- if (strcasecmp(argv[k + 1], "yes") == 0) {
- nc.dhcp = true;
- } else if (strcasecmp(argv[k + 1], "no") == 0) {
- nc.dhcp = 1;
- } else {
- printf("Incorrect DHCP value\n");
- ret = 1;
- goto end;
- }
- } else if (strcasecmp(argv[k], "ip") == 0) {
- if (inet_aton(argv[k + 1], &nc.ip) == 0) {
- printf("Incorrect IP value\n");
- ret = 1;
- goto end;
- }
- } else if (strcasecmp(argv[k], "mask") == 0) {
- /* TODO: check if it is a correct mask */
- if (inet_aton(argv[k + 1], &nc.netmask) == 0) {
- printf("Incorrect mask value\n");
- ret = 1;
- goto end;
- }
- } else if (strcasecmp(argv[k], "gw") == 0) {
- if (inet_aton(argv[k + 1], &nc.gw) == 0) {
- printf("Incorrect gateway value\n");
- ret = 1;
- goto end;
- }
- }
- }
-
- i = ngadmin_setNetConf(nga, &nc);
- if (i != ERR_OK) {
- printErrCode(i);
- ret = 1;
- }
-
-end:
-
- return ret;
-}
-
-