#include "perl_sysfs.h" MODULE = Linux::Sysfs::Class PACKAGE = Linux::Sysfs::Class struct sysfs_class* open(class, name) const char* name CODE: RETVAL = sysfs_open_class(name); OUTPUT: RETVAL void close(class) struct sysfs_class* class CODE: sysfs_close_class(class); struct sysfs_class_device* get_device(class, name) struct sysfs_class* class const char* name CODE: RETVAL = sysfs_get_class_device(class, name); OUTPUT: RETVAL void get_devices(class) struct sysfs_class* class PREINIT: struct dlist* dev_list = NULL; struct sysfs_class_device* dev = NULL; PPCODE: dev_list = sysfs_get_class_devices(class); if (dev_list == NULL) XSRETURN_EMPTY; EXTEND(SP, dev_list->count); dlist_for_each_data(dev_list, dev, struct sysfs_class_device) { PUSHs(sv_2mortal( perl_sysfs_new_sv_from_ptr(dev, "Linux::Sysfs::ClassDevice") )); } char* name(class) struct sysfs_class* class CODE: RETVAL = class->name; OUTPUT: RETVAL char* path(class) struct sysfs_class* class CODE: RETVAL = class->path; OUTPUT: RETVAL