DragonFly On-Line Manual Pages

Search: Section:  

SENSOR_ATTACH(9)      DragonFly Kernel Developer's Manual     SENSOR_ATTACH(9)


sensor_attach, sensor_detach, sensordev_install, sensordev_deinstall, sensor_task_register, sensor_task_unregister -- sensors framework


#include <sys/time.h> #include <sys/sensors.h> void sensordev_install(struct ksensordev *sensdev); void sensordev_deinstall(struct ksensordev *sensdev); void sensor_attach(struct ksensordev *sensdev, struct ksensor *sens); void sensor_detach(struct ksensordev *sensdev, struct ksensor *sens); void sensor_task_register(void *arg, void (*func)(void *), int period); void sensor_task_unregister(void *arg);


The sensors framework API provides a mechanism for manipulation of hardware sensors that are available under the hw.sensors sysctl(8) tree. The sensor_attach() function adds the sensor specified by the sens argument to the sensor device specified by the sensdev argument. The sensor_detach() function can be used to remove sensors previously added by sensor_attach(). The sensordev_install() function registers the sensor device specified by the sensdev argument so that all sensors that are attached to the device become accessible via the sysctl interface. The sensordev_deinstall() function can be used to remove sensor devices previously registered by sensordev_install(). Drivers are responsible for retrieving, interpreting and normalising sensor values and updating the sensor struct periodically. If the driver needs process context, for example to sleep, it can register a task with the sensor framework. The sensor_task_register() function is used to register a periodic task to update sensors. The func argument is a pointer to the function to run with an interval of period seconds. The arg parameter is the argument given to the func function. The sensor_task_unregister() function removes all tasks previously registered with sensor_task_register() with an argument of arg.


sensor_task The sensor_task_register() and sensor_task_unregister() functions that are included in OpenBSD 4.2 and later are not compatible with DragonFly. DragonFly includes an implementation that is similar and compatible with an earlier version of these sensor_task() functions that was available from OpenBSD 3.9 until OpenBSD 4.1. Drivers that only call sensor_task_register() and do not check its return value are not affected by this sensor_task() compatibility notice.


systat(1), sysctl(3), sensorsd(8), sysctl(8)


The sensor framework was written by Alexander Yurchenko <grange@openbsd.org> and first appeared in OpenBSD 3.4. David Gwynne <dlg@openbsd.org> later extended it for OpenBSD 3.8. Constantine A. Murenin <cnst+openbsd@bugmail.mojo.ru> extended it even further by introducing the concept of sensor devices in OpenBSD 4.1. The framework was ported to FreeBSD by Constantine A. Murenin as a Google Summer of Code 2007 project. DragonFly 4.1 April 10, 2015 DragonFly 4.1

Search: Section: