#include #include #include "../arg.h" s_arg_ip src_ip = { .port = 8080, .ip = 0x7f000001 }; s_arg_range freq_range = { .start = 88, .end = 108, .step = 100e3 }; s_arg_float ratio_float = { .val = 0.8 }; s_arg_list color_name_list = { .num = 3, .default_val = "RED", .vals = {"RED","GREEN","BLUE"} }; s_arg_val number_val = { .ptr = NULL }; def_arg cmd_arg[] = { ARG_ENTRY("-a",IP,&src_ip), ARG_ENTRY("-b",RANGE,&freq_range), ARG_ENTRY("-c",FLOAT,&ratio_float), ARG_ENTRY("-d",LIST,&color_name_list), ARG_ENTRY("-e",VAL,&number_val), ARG_ENTRY("-f",FLAG,NULL), ARG_ENTRY("-g",FLAG,NULL), {NULL,0,NULL} }; int main( int argc, char **argv ) { int i=0; arg_t *cfg = NULL; i = 0; while ( cmd_arg[i].param != NULL ) { printf("%s\n",cmd_arg[i].param); i++; } cfg = arg_load( argc, argv, cmd_arg ); if (cfg->size == 0) { printf("No arguments found\n"); goto exit_error; } for (i=0;isize;i++) { printf("TYPE:%d\n", cfg->arg[i]->type); } arg_print( cfg ); arg_free( cfg ); return 0; exit_error: arg_free( cfg ); return -1; }