config.c (1177B)
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <strings.h> 4 5 #include "util/config.h" 6 7 #include "config.h" 8 9 struct cnf_directive * cfg_parse_bond(FILE *fd, struct cnf_directive *dir, void *user) { 10 int i; 11 12 if (dir->argc != 1) { 13 fprintf(stderr, "`bond` directive accepts only 1 argument\n"); 14 exit(1); 15 } 16 17 printf("Defining bond: %s\n", dir->argv[0]); 18 19 for(;;) { 20 if (dir) cnf_directive_free(dir); 21 dir = cnf_directive_read(fd); 22 if (!dir) break; // EOF = done 23 24 // Make following blocks identical in structure 25 if(0) {} 26 27 else if (!strcasecmp("interface", dir->name)) { 28 for( i = 0 ; i < dir->argc ; i++ ) { 29 printf(" add iface: %s\n", dir->argv[i]); 30 } 31 } 32 33 else if (!strcasecmp("address", dir->name)) { 34 for( i = 0 ; i < dir->argc ; i++ ) { 35 printf(" got addr: %s\n", dir->argv[i]); 36 } 37 } 38 39 else if (!strcasecmp("mac", dir->name)) { 40 if (dir->argc != 1) { 41 fprintf(stderr, "`mac` directive accepts only 1 argument\n"); 42 exit(1); 43 } 44 printf(" set mac: %s\n", dir->argv[0]); 45 } 46 47 else { 48 // unknown directive 49 return dir; 50 } 51 52 } 53 54 return NULL; 55 }