xmlDocPtr stats_get_xml(int show_hidden, const char *show_mount) { xmlDocPtr doc; xmlNodePtr node; doc = xmlNewDoc (XMLSTR("1.0")); node = xmlNewDocNode (doc, NULL, XMLSTR("icestats"), NULL); xmlDocSetRootElement(doc, node); node = _dump_stats_to_doc (node, show_mount, show_hidden); return doc; }
xmlDocPtr stats_get_xml(int show_hidden, const char *show_mount, operation_mode mode) { xmlDocPtr doc; xmlNodePtr node; source_t * source; doc = xmlNewDoc (XMLSTR("1.0")); node = xmlNewDocNode (doc, NULL, XMLSTR("icestats"), NULL); xmlDocSetRootElement(doc, node); node = _dump_stats_to_doc (node, show_mount, show_hidden); if (show_mount && node) { avl_tree_rlock(global.source_tree); source = source_find_mount_raw(show_mount); admin_add_listeners_to_mount(source, node, mode); avl_tree_unlock(global.source_tree); } return doc; }
xmlDocPtr stats_get_xml (int flags, const char *show_mount) { xmlDocPtr doc; xmlNodePtr node; doc = xmlNewDoc (XMLSTR("1.0")); node = xmlNewDocNode (doc, NULL, XMLSTR("icestats"), NULL); xmlDocSetRootElement(doc, node); node = _dump_stats_to_doc (node, show_mount, flags); if (show_mount && node) { source_t *source; /* show each listener */ avl_tree_rlock (global.source_tree); source = source_find_mount_raw (show_mount); if (source) { thread_mutex_lock (&source->lock); admin_source_listeners (source, node); thread_mutex_unlock (&source->lock); avl_tree_unlock (global.source_tree); } else { fbinfo finfo; avl_tree_unlock (global.source_tree); finfo.flags = FS_FALLBACK; finfo.mount = (char*)show_mount; finfo.limit = 0; finfo.fallback = NULL; fserve_list_clients_xml (node, &finfo); } } return doc; }