summaryrefslogtreecommitdiffstats
path: root/share/man/man9/sensor_attach.9
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man9/sensor_attach.9')
-rw-r--r--share/man/man9/sensor_attach.9161
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 .