diff options
Diffstat (limited to 'share/man/man9/sensor_attach.9')
| -rw-r--r-- | share/man/man9/sensor_attach.9 | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/share/man/man9/sensor_attach.9 b/share/man/man9/sensor_attach.9 new file mode 100644 index 00000000000..d25669b1ec7 --- /dev/null +++ b/share/man/man9/sensor_attach.9 @@ -0,0 +1,161 @@ +.\" $OpenBSD: sensor_attach.9,v 1.1 2006/12/23 17:53:09 deraadt Exp $ +.\" +.\" Copyright (c) 2006 Michael Knudsen <mk@openbsd.org> +.\" Copyright (c) 2006 Constantine A. Murenin <cnst+openbsd@bugmail.mojo.ru> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd April 23, 2006 +.Dt SENSOR_ADD 9 +.Os +.Sh NAME +.Nm sensor_attach , +.Nm sensor_detach , +.Nm sensor_find , +.Nm sensordev_install , +.Nm sensordev_deinstall , +.Nm sensordev_get , +.Nm sensor_task_register , +.Nm sensor_task_unregister +.Nd sensors framework +.Sh SYNOPSIS +.Fd #include <sys/sensors.h> +.Ft void +.Fn "sensordev_install" "struct sensordev *sensdev" +.Ft void +.Fn "sensordev_deinstall" "struct sensordev *sensdev" +.Ft struct sensordev +.Fn "*sensordev_get" "int devnum" +.Pp +.Ft void +.Fn "sensor_attach" "struct sensordev *sensdev" "struct sensor *sens" +.Ft void +.Fn "sensor_detach" "struct sensordev *sensdev" "struct sensor *sens" +.Ft struct sensor +.Fn "*sensor_find" "int devnum" "enum sensor_type stype" "int numt" +.Pp +.Ft int +.Fn "sensor_task_register" "void *arg" "void (*func)(void *)" "int period" +.Ft void +.Fn "sensor_task_unregister" "void *arg" +.Sh DESCRIPTION +The +sensors +framework API provides a mechanism for manipulation of hardware sensors +that are available under the +.Va hw.sensors +.Xr sysctl 8 +tree. +.Pp +.Fn sensor_attach +adds sensor specified by the +.Pa sens +argument to sensor device specified by the +.Pa sensdev +argument. +.Fn sensor_detach +can be used to remove sensors previously added by +.Fn sensor_attach . +.Pp +.Fn sensordev_install +registers sensor device specified by the +.Pa sensdev +argument so that all sensors that are attached to the device become +accessible via the sysctl interface. +.Fn sensordev_deinstall +can be used to remove sensor devices previously registered by +.Fn sensordev_install . +.Pp +.Fn sensordev_get +takes ordinal number +.Pa devnum +specifying sensor device and +returns a pointer to the corresponding +.Vt struct sensordev , +or +.Dv NULL +if no such sensor device exists. +.Pp +.Fn sensor_find +takes ordinal number +.Pa devnum +specifying sensor device, sensor type +.Pa stype +and ordinal number of sensor of such type +.Pa numt , +and returns a pointer to the corresponding +.Vt struct sensor , +or +.Dv NULL +if no such sensor exists. +.Fn sensor_find +will always return +.Dv NULL +if the corresponding sensor devices are not registered by +.Fn sensordev_install . +.Pp +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. +.Pp +.Fn sensor_task_register +is used to register a periodic task to update sensors. +The +.Fa func +argument is a pointer to the function to run with an interval of +.Fa period +seconds. +The +.Fa arg +parameter is the argument given to the +.Fa func +function. +The +.Fn sensor_task_unregister +removes all tasks previously registered with +.Fn sensor_task_register +with an argument of +.Fa arg . +.Pp +All the functions in the sensor framework must be called during +.Xr autoconf 9 +or from a process context. +Additionally, +.Fn sensor_task_unregister +must not be called while a function previously registered with +.Fn sensor_task_register +is running. +.Sh SEE ALSO +.Xr sysctl 8 , +.Xr autoconf 9 +.Sh HISTORY +The sensor framework was written by +.An Alexander Yurchenko Aq grange@openbsd.org +and first appeared in +.Ox 3.4 . +.An David Gwynne Aq dlg@openbsd.org +later extended it for +.Ox 3.8 . +.An Constantine A. Murenin Aq cnst+openbsd@bugmail.mojo.ru +extended it even further by introducing the concept of sensor devices in +.Ox 4.1 . |
