Lines Matching defs:entry

63 	struct mt_status_entry *entry;
88 entry = malloc(sizeof(*entry));
89 if (entry == NULL) {
93 sizeof(*entry));
96 bzero(entry, sizeof(*entry));
97 STAILQ_INIT(&entry->nv_list);
98 STAILQ_INIT(&entry->child_entries);
99 entry->entry_name = strdup(name);
100 mtinfo->cur_entry[mtinfo->level] = entry;
102 STAILQ_INSERT_TAIL(&mtinfo->entries, entry, links);
106 entry, links);
107 entry->parent = mtinfo->cur_entry[mtinfo->level - 1];
116 entry->size = strtoull(attr[i+1], NULL, 0);
119 entry->var_type = MT_TYPE_INT;
121 entry->var_type = MT_TYPE_UINT;
123 entry->var_type = MT_TYPE_STRING;
125 entry->var_type = MT_TYPE_NODE;
130 entry->fmt = strdup(attr[i+1]);
132 entry->desc = strdup(attr[i+1]);
148 STAILQ_INSERT_TAIL(&entry->nv_list, nv, links);
189 struct mt_status_entry *entry;
191 entry = mtinfo->cur_entry[mtinfo->level];
192 switch(entry->var_type) {
194 entry->value_signed = strtoll(str, NULL, 0);
197 entry->value_unsigned = strtoull(str, NULL, 0);
228 mt_status_tree_sbuf(struct sbuf *sb, struct mt_status_entry *entry, int indent,
229 void (*sbuf_func)(struct sbuf *sb, struct mt_status_entry *entry,
236 sbuf_func(sb, entry, arg);
239 "type: %d, desc: %s\n", indent, "", entry->entry_name,
240 entry->value, entry->fmt, entry->size, entry->var_type,
241 entry->desc);
242 STAILQ_FOREACH(nv, &entry->nv_list, links) {
248 STAILQ_FOREACH(entry2, &entry->child_entries, links)
253 mt_status_tree_print(struct mt_status_entry *entry, int indent,
254 void (*print_func)(struct mt_status_entry *entry, void *arg), void *arg)
260 print_func(entry, arg);
261 STAILQ_FOREACH(entry2, &entry->child_entries, links)
270 mt_status_tree_sbuf(sb, entry, indent, NULL, NULL);
284 mt_entry_find(struct mt_status_entry *entry, char *name)
299 * Is this the entry we're looking for? Or do we have further
302 if (strcmp(entry->entry_name, tmpstr) == 0) {
309 return (entry);
314 * entry, below. Use tmpname, which will contain
324 STAILQ_FOREACH(entry2, &entry->child_entries, links) {
343 struct mt_status_entry *entry, *entry2;
345 STAILQ_FOREACH(entry, &status_data->entries, links) {
346 entry2 = mt_entry_find(entry, name);
355 mt_status_entry_free(struct mt_status_entry *entry)
360 STAILQ_FOREACH_SAFE(entry2, &entry->child_entries, links, entry3) {
361 STAILQ_REMOVE(&entry->child_entries, entry2, mt_status_entry,
366 free(entry->entry_name);
367 free(entry->value);
368 free(entry->fmt);
369 free(entry->desc);
371 STAILQ_FOREACH_SAFE(nv, &entry->nv_list, links, nv2) {
372 STAILQ_REMOVE(&entry->nv_list, nv, mt_status_nv, links);
377 free(entry);
383 struct mt_status_entry *entry, *entry2;
385 STAILQ_FOREACH_SAFE(entry, &status_data->entries, links, entry2) {
386 STAILQ_REMOVE(&status_data->entries, entry, mt_status_entry,
388 mt_status_entry_free(entry);
393 mt_entry_sbuf(struct sbuf *sb, struct mt_status_entry *entry, char *fmt)
395 switch(entry->var_type) {
398 sbuf_printf(sb, fmt, (intmax_t)entry->value_signed);
401 (intmax_t)entry->value_signed);
405 sbuf_printf(sb, fmt, (uintmax_t)entry->value_unsigned);
408 (uintmax_t)entry->value_unsigned);
412 sbuf_printf(sb, fmt, entry->value);
414 sbuf_printf(sb, "%s", entry->value);
420 mt_param_parent_print(struct mt_status_entry *entry,
423 if (entry->parent != NULL)
424 mt_param_parent_print(entry->parent, print_params);
427 && (strcmp(entry->entry_name, print_params->root_name) == 0))
430 printf("%s.", entry->entry_name);
434 mt_param_parent_sbuf(struct sbuf *sb, struct mt_status_entry *entry,
437 if (entry->parent != NULL)
438 mt_param_parent_sbuf(sb, entry->parent, print_params);
441 && (strcmp(entry->entry_name, print_params->root_name) == 0))
444 sbuf_printf(sb, "%s.", entry->entry_name);
448 mt_param_entry_sbuf(struct sbuf *sb, struct mt_status_entry *entry, void *arg)
457 if (entry->var_type == MT_TYPE_NODE)
461 && (entry->parent != NULL))
462 mt_param_parent_sbuf(sb, entry->parent, print_params);
464 sbuf_printf(sb, "%s: %s", entry->entry_name, entry->value);
466 && (entry->desc != NULL)
467 && (strlen(entry->desc) > 0))
468 sbuf_printf(sb, " (%s)", entry->desc);
474 mt_param_entry_print(struct mt_status_entry *entry, void *arg)
483 if (entry->var_type == MT_TYPE_NODE)
487 && (entry->parent != NULL))
488 mt_param_parent_print(entry->parent, print_params);
490 printf("%s: %s", entry->entry_name, entry->value);
492 && (entry->desc != NULL)
493 && (strlen(entry->desc) > 0))
494 printf(" (%s)", entry->desc);
501 struct mt_status_entry *entry;
511 entry = mt_status_entry_find(status_data, __DECONST(char *,prot_name));
512 if (entry == NULL)
514 mt_status_tree_print(entry, 0, mt_param_entry_print, &print_params);
522 struct mt_status_entry *entry;
535 entry = mt_status_entry_find(status_data, param_name);
536 if (entry == NULL)
539 mt_param_entry_print(entry, &print_params);
543 entry = mt_status_entry_find(status_data, root_name);
545 STAILQ_FOREACH(entry, &status_data->entries, links)
546 mt_status_tree_print(entry, 0, mt_param_entry_print,