#include "perl_sysfs.h"
MODULE = Linux::Sysfs::Attribute PACKAGE = Linux::Sysfs::Attribute
struct sysfs_attribute*
open(class, path)
const char* path
CODE:
RETVAL = sysfs_open_attribute(path);
OUTPUT:
RETVAL
void
close(attr)
struct sysfs_attribute* attr
CODE:
sysfs_close_attribute(attr);
void
read(attr)
struct sysfs_attribute* attr
CODE:
if (sysfs_read_attribute(attr) == 0) {
XSRETURN_YES;
} else {
XSRETURN_NO;
}
void
write(attr, sv)
struct sysfs_attribute* attr
SV* sv
PREINIT:
char* value;
STRLEN len;
CODE:
value = SvPV(sv, len);
if (sysfs_write_attribute(attr, value, len) == 0) {
XSRETURN_YES;
} else {
XSRETURN_NO;
}
char*
value(attr)
struct sysfs_attribute* attr
CODE:
RETVAL = attr->value;
OUTPUT:
RETVAL
bool
can_read(attr)
struct sysfs_attribute* attr
CODE:
RETVAL = attr->method & SYSFS_METHOD_SHOW;
OUTPUT:
RETVAL
bool
can_write(attr)
struct sysfs_attribute* attr
CODE:
RETVAL = attr->method & SYSFS_METHOD_STORE;
OUTPUT:
RETVAL
char*
name(attr)
struct sysfs_attribute* attr
CODE:
RETVAL = attr->name;
OUTPUT:
RETVAL
char*
path(attr)
struct sysfs_attribute* attr
CODE:
RETVAL = attr->path;
OUTPUT:
RETVAL