Lines Matching +defs:str +defs:list
46 static int parse_hex(char *str, unsigned char *addr)
50 while (*str) {
52 if (str[1] == 0)
54 if (sscanf(str, "%02x", &tmp) != 1)
58 str += 2;
193 static void print_maddr(FILE *fp, struct ma_info *list)
197 if (list->addr.family == AF_PACKET) {
199 fprintf(fp, "link %s", ll_addr_n2a((unsigned char*)list->addr.data,
200 list->addr.bytelen, 0,
204 switch(list->addr.family) {
212 fprintf(fp, "family %d ", list->addr.family);
216 format_host(list->addr.family,
218 list->addr.data,
221 if (list->users != 1)
222 fprintf(fp, " users %d", list->users);
223 if (list->features)
224 fprintf(fp, " %s", list->features);
228 static void print_mlist(FILE *fp, struct ma_info *list)
232 for (; list; list = list->next) {
234 cur_index = list->index;
235 fprintf(fp, "%d:\t%s%s", cur_index, list->name, _SL_);
236 } else if (cur_index != list->index) {
237 cur_index = list->index;
238 fprintf(fp, "%d:\t%s\n", cur_index, list->name);
240 print_maddr(fp, list);
246 struct ma_info *list = NULL;
266 read_dev_mcast(&list);
268 read_igmp(&list);
270 read_igmp6(&list);
271 print_mlist(stdout, list);
337 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0