X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=cli%2Fcom_igmp.c;h=22647ff614e21f5d94c95d724dbf3e3c3669f3e4;hb=ba1e16863bdedc5f52b077932aa7301ed14a0f06;hp=efe39b83f7eb5624c6a02beb988c6e4113095053;hpb=47fbfc0635ef174f71047d75c328f8e848e6a02d;p=ngadmin diff --git a/cli/com_igmp.c b/cli/com_igmp.c index efe39b8..22647ff 100644 --- a/cli/com_igmp.c +++ b/cli/com_igmp.c @@ -2,71 +2,71 @@ #include "commands.h" - -bool do_igmp_set (int nb, const char **com, struct ngadmin *nga) { - - int i; - struct igmp_conf ic; - - - if ( nb!=4 ) { - printf("Usage: igmp set \n"); - return false; - } - - if ( ngadmin_getCurrentSwitch(nga)==NULL ) { - printf("must be logged\n"); - return false; - } - - ic.enable=strtol(com[0], NULL, 0); - ic.vlan=strtol(com[1], NULL, 0); - ic.validate=strtol(com[2], NULL, 0); - ic.block=strtol(com[3], NULL, 0); - - i=ngadmin_setIGMPConf(nga, &ic); - printErrCode(i); - - - return true; - +bool do_igmp_set (int argc, const char **argv, struct ngadmin *nga) +{ + int i; + struct igmp_conf ic; + + + if (argc != 4) { + printf("usage: igmp set \n"); + return false; + } + + if (ngadmin_getCurrentSwitch(nga) == NULL) { + printf("must be logged\n"); + return false; + } + + ic.enable = strtol(argv[0], NULL, 0); + ic.vlan = strtol(argv[1], NULL, 0); + ic.validate = strtol(argv[2], NULL, 0); + ic.block = strtol(argv[3], NULL, 0); + + i = ngadmin_setIGMPConf(nga, &ic); + printErrCode(i); + + + return true; } - -bool do_igmp_show (int nb UNUSED, const char **com UNUSED, struct ngadmin *nga) { - - int i; - const struct swi_attr *sa; - struct igmp_conf ic; - bool ret=true; - - - if ( (sa=ngadmin_getCurrentSwitch(nga))==NULL ) { - printf("must be logged\n"); - ret=false; - goto end; - } - - i=ngadmin_getIGMPConf(nga, &ic); - if ( i!=ERR_OK ) { - printErrCode(i); - ret=false; - goto end; - } - - - printf("IGMP snooping enabled: %s\n", ic.enable ? "yes" : "no" ); - printf("IGMP snooping vlan: %u\n", ic.vlan); - printf("Validate IGMPv3 headers: %s\n", ic.validate ? "yes" : "no" ); - printf("Block unknown multicast addresses: %s\n", ic.block ? "yes" : "no" ); - - - - end: - - return ret; - +bool do_igmp_show (int argc, const char **argv UNUSED, struct ngadmin *nga) +{ + int i; + const struct swi_attr *sa; + struct igmp_conf ic; + bool ret = true; + + + if (argc > 0) { + printf("this command takes no argument\n"); + ret = false; + goto end; + } + + sa = ngadmin_getCurrentSwitch(nga); + if (sa == NULL) { + printf("must be logged\n"); + ret = false; + goto end; + } + + i = ngadmin_getIGMPConf(nga, &ic); + if (i != ERR_OK) { + printErrCode(i); + ret = false; + goto end; + } + + printf("IGMP snooping enabled: %s\n", ic.enable ? "yes" : "no" ); + printf("IGMP snooping vlan: %u\n", ic.vlan); + printf("Validate IGMPv3 headers: %s\n", ic.validate ? "yes" : "no" ); + printf("Block unknown multicast addresses: %s\n", ic.block ? "yes" : "no" ); + +end: + + return ret; }