#include "perl_sysfs.h" MODULE = Linux::Sysfs::ClassDevice PACKAGE = Linux::Sysfs::ClassDevice struct sysfs_class_device* open(class, classname, name) const char* classname const char* name CODE: RETVAL = sysfs_open_class_device(classname, name); OUTPUT: RETVAL struct sysfs_class_device* open_path(class, path) const char* path CODE: RETVAL = sysfs_open_class_device_path(path); OUTPUT: RETVAL void close(classdev) struct sysfs_class_device* classdev CODE: sysfs_close_class_device(classdev); struct sysfs_class_device* get_parent(classdev) struct sysfs_class_device* classdev CODE: RETVAL = sysfs_get_classdev_parent(classdev); OUTPUT: RETVAL struct sysfs_attribute* get_attr(classdev, name) struct sysfs_class_device* classdev const char* name CODE: RETVAL = sysfs_get_classdev_attr(classdev, name); OUTPUT: RETVAL void get_attrs(classdev) struct sysfs_class_device* classdev ALIAS: get_attributes = 1 PREINIT: struct dlist* attr_list = NULL; struct sysfs_attribute* attr = NULL; PPCODE: PERL_UNUSED_VAR(ix); attr_list = sysfs_get_classdev_attributes(classdev); if (attr_list == NULL) XSRETURN_EMPTY; EXTEND(SP, attr_list->count); dlist_for_each_data(attr_list, attr, struct sysfs_attribute) { PUSHs(sv_2mortal( perl_sysfs_new_sv_from_ptr(attr, "Linux::Sysfs::Attribute") )); } struct sysfs_device* get_device(classdev) struct sysfs_class_device* classdev CODE: RETVAL = sysfs_get_classdev_device(classdev); OUTPUT: RETVAL char* name(classdev) struct sysfs_class_device* classdev CODE: RETVAL = classdev->name; OUTPUT: RETVAL char* path(classdev) struct sysfs_class_device* classdev CODE: RETVAL = classdev->path; OUTPUT: RETVAL char* classname(classdev) struct sysfs_class_device* classdev CODE: RETVAL = classdev->classname; OUTPUT: RETVAL