blob: 8deb351d763813372b31e7e506249b2609aec158 [file] [log] [blame]
/*
* testout.c
*
* Display routines for the libsysfs testsuite
*
* Copyright (C) IBM Corp. 2004-2005
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
/**
* Display routines for test functions
*/
#include <test-defs.h>
static void remove_end_newline(char *value)
{
char *p = value + (strlen(value) - 1);
if (p != NULL && *p == '\n')
*p = '\0';
}
void show_device(struct sysfs_device *device)
{
if (device != NULL)
dbg_print("Device is \"%s\" at \"%s\"\n",
device->name, device->path);
}
void show_driver(struct sysfs_driver *driver)
{
if (driver != NULL)
dbg_print("Driver is \"%s\" at \"%s\"\n",
driver->name, driver->path);
}
void show_device_list(struct dlist *devlist)
{
if (devlist != NULL) {
struct sysfs_device *dev = NULL;
dlist_for_each_data(devlist, dev, struct sysfs_device)
show_device(dev);
}
}
void show_driver_list(struct dlist *drvlist)
{
if (drvlist != NULL) {
struct sysfs_driver *drv = NULL;
dlist_for_each_data(drvlist, drv, struct sysfs_driver)
show_driver(drv);
}
}
void show_attribute(struct sysfs_attribute *attr)
{
if (attr != NULL) {
if (attr->value)
remove_end_newline(attr->value);
dbg_print("Attr \"%s\" at \"%s\" has a value \"%s\" \n",
attr->name, attr->path, attr->value);
}
}
void show_attribute_list(struct dlist *attrlist)
{
if (attrlist != NULL) {
struct sysfs_attribute *attr = NULL;
dlist_for_each_data(attrlist, attr, struct sysfs_attribute)
show_attribute(attr);
}
}
void show_class_device(struct sysfs_class_device *dev)
{
if (dev != NULL)
dbg_print("Class device \"%s\" belongs to the \"%s\" class\n",
dev->name, dev->classname);
}
void show_class_device_list(struct dlist *devlist)
{
if (devlist != NULL) {
struct sysfs_class_device *dev = NULL;
dlist_for_each_data(devlist, dev, struct sysfs_class_device)
show_class_device(dev);
}
}
void show_list(struct dlist *list)
{
if (list != NULL) {
char *name = NULL;
dlist_for_each_data(list, name, char)
dbg_print("%s\n", name);
}
}
void show_parm_list(struct dlist *list)
{
if (list != NULL) {
char *name = NULL;
dlist_for_each_data(list, name, char)
dbg_print("%s\n", name);
}
}
void show_section_list(struct dlist *list)
{
if (list != NULL) {
char *name = NULL;
dlist_for_each_data(list, name, char)
dbg_print("%s\n", name);
}
}
void show_module(struct sysfs_module *module)
{
if (module) {
dbg_print("Module name is %s, path is %s\n",
module->name, module->path);
show_attribute_list(module->attrlist);
show_parm_list(module->parmlist);
show_section_list(module->sections);
}
}