#include "perl_sysfs.h" MODULE = Linux::Sysfs::Device PACKAGE = Linux::Sysfs::Device struct sysfs_device* open(class, bus, bus_id) const char* bus const char* bus_id CODE: RETVAL = sysfs_open_device(bus, bus_id); OUTPUT: RETVAL struct sysfs_device* open_path(class, path) const char* path CODE: RETVAL = sysfs_open_device_path(path); OUTPUT: RETVAL void close(dev) struct sysfs_device* dev CODE: sysfs_close_device(dev); void close_tree(dev) struct sysfs_device* dev CODE: sysfs_close_device_tree(dev); struct sysfs_device* get_parent(dev) struct sysfs_device* dev CODE: RETVAL = sysfs_get_device_parent(dev); OUTPUT: RETVAL void get_bus(dev) struct sysfs_device* dev CODE: if (sysfs_get_device_bus(dev) == 0) { XSRETURN_YES; } else { XSRETURN_NO; } struct sysfs_attribute* get_attr(dev, name) struct sysfs_device* dev const char* name ALIAS: get_attribute = 1 CODE: PERL_UNUSED_VAR(ix); RETVAL = sysfs_get_device_attr(dev, name); OUTPUT: RETVAL void get_attrs(dev) struct sysfs_device* dev ALIAS: get_attributes = 1 PREINIT: struct dlist* attr_list = NULL; struct sysfs_attribute* attr = NULL; PPCODE: PERL_UNUSED_VAR(ix); attr_list = sysfs_get_device_attributes(dev); 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") )); } char* name(dev) struct sysfs_device* dev CODE: RETVAL = dev->name; OUTPUT: RETVAL char* path(dev) struct sysfs_device* dev CODE: RETVAL = dev->path; OUTPUT: RETVAL char* bus_id(dev) struct sysfs_device* dev CODE: RETVAL = dev->bus_id; OUTPUT: RETVAL char* bus(dev) struct sysfs_device* dev CODE: RETVAL = dev->bus; OUTPUT: RETVAL char* driver_name(dev) struct sysfs_device* dev CODE: RETVAL = dev->driver_name; OUTPUT: RETVAL