xref: /dflybsd-src/share/man/man9/sensor_attach.9 (revision e7c86b602716faae974a1f1fe02449bedd3ea9af)
1eb3a3472SHasso Tepper.\" $OpenBSD: sensor_attach.9,v 1.4 2007/03/22 16:55:31 deraadt Exp $
29d3086b7SThomas Nikolajsen.\" $DragonFly: src/share/man/man9/sensor_attach.9,v 1.4 2008/07/09 17:50:44 thomas Exp $
3eb3a3472SHasso Tepper.\"
4eb3a3472SHasso Tepper.\" Copyright (c) 2006 Michael Knudsen <mk@openbsd.org>
5eb3a3472SHasso Tepper.\" Copyright (c) 2006 Constantine A. Murenin <cnst+openbsd@bugmail.mojo.ru>
6eb3a3472SHasso Tepper.\" All rights reserved.
7eb3a3472SHasso Tepper.\"
8eb3a3472SHasso Tepper.\" Redistribution and use in source and binary forms, with or without
9eb3a3472SHasso Tepper.\" modification, are permitted provided that the following conditions
10eb3a3472SHasso Tepper.\" are met:
11eb3a3472SHasso Tepper.\"
12eb3a3472SHasso Tepper.\" 1. Redistributions of source code must retain the above copyright
13eb3a3472SHasso Tepper.\"    notice, this list of conditions and the following disclaimer.
14eb3a3472SHasso Tepper.\" 2. The name of the author may not be used to endorse or promote products
15eb3a3472SHasso Tepper.\"    derived from this software without specific prior written permission.
16eb3a3472SHasso Tepper.\"
17eb3a3472SHasso Tepper.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
18eb3a3472SHasso Tepper.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
19eb3a3472SHasso Tepper.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20eb3a3472SHasso Tepper.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21eb3a3472SHasso Tepper.\" EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO,
22eb3a3472SHasso Tepper.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
23eb3a3472SHasso Tepper.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24eb3a3472SHasso Tepper.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25eb3a3472SHasso Tepper.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
26eb3a3472SHasso Tepper.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27eb3a3472SHasso Tepper.\"
28b8dea66aSSascha Wildner.Dd August 19, 2007
29eb3a3472SHasso Tepper.Dt SENSOR_ATTACH 9
30eb3a3472SHasso Tepper.Os
31eb3a3472SHasso Tepper.Sh NAME
32eb3a3472SHasso Tepper.Nm sensor_attach ,
33eb3a3472SHasso Tepper.Nm sensor_detach ,
34eb3a3472SHasso Tepper.Nm sensordev_install ,
35eb3a3472SHasso Tepper.Nm sensordev_deinstall ,
36eb3a3472SHasso Tepper.Nm sensor_task_register ,
37eb3a3472SHasso Tepper.Nm sensor_task_unregister
38eb3a3472SHasso Tepper.Nd sensors framework
39eb3a3472SHasso Tepper.Sh SYNOPSIS
40*e7c86b60SSascha Wildner.In sys/time.h
41b8dea66aSSascha Wildner.In sys/sensors.h
42eb3a3472SHasso Tepper.Ft void
43eb3a3472SHasso Tepper.Fn "sensordev_install" "struct ksensordev *sensdev"
44eb3a3472SHasso Tepper.Ft void
45eb3a3472SHasso Tepper.Fn "sensordev_deinstall" "struct ksensordev *sensdev"
46eb3a3472SHasso Tepper.Ft void
47eb3a3472SHasso Tepper.Fn "sensor_attach" "struct ksensordev *sensdev" "struct ksensor *sens"
48eb3a3472SHasso Tepper.Ft void
49eb3a3472SHasso Tepper.Fn "sensor_detach" "struct ksensordev *sensdev" "struct ksensor *sens"
50eb3a3472SHasso Tepper.Ft int
51eb3a3472SHasso Tepper.Fn "sensor_task_register" "void *arg" "void (*func)(void *)" "int period"
52eb3a3472SHasso Tepper.Ft void
53eb3a3472SHasso Tepper.Fn "sensor_task_unregister" "void *arg"
54eb3a3472SHasso Tepper.Sh DESCRIPTION
55eb3a3472SHasso TepperThe
56eb3a3472SHasso Teppersensors
57eb3a3472SHasso Tepperframework API provides a mechanism for manipulation of hardware sensors
58eb3a3472SHasso Tepperthat are available under the
59eb3a3472SHasso Tepper.Va hw.sensors
60eb3a3472SHasso Tepper.Xr sysctl 8
61eb3a3472SHasso Teppertree.
62eb3a3472SHasso Tepper.Pp
637dcbe396SSascha WildnerThe
64eb3a3472SHasso Tepper.Fn sensor_attach
657dcbe396SSascha Wildnerfunction adds the sensor specified by the
667dcbe396SSascha Wildner.Fa sens
67eb3a3472SHasso Tepperargument to the sensor device specified by the
687dcbe396SSascha Wildner.Fa sensdev
69eb3a3472SHasso Tepperargument.
707dcbe396SSascha WildnerThe
71eb3a3472SHasso Tepper.Fn sensor_detach
727dcbe396SSascha Wildnerfunction can be used to remove sensors previously added by
73eb3a3472SHasso Tepper.Fn sensor_attach .
74eb3a3472SHasso Tepper.Pp
757dcbe396SSascha WildnerThe
76eb3a3472SHasso Tepper.Fn sensordev_install
777dcbe396SSascha Wildnerfunction registers the sensor device specified by the
787dcbe396SSascha Wildner.Fa sensdev
79eb3a3472SHasso Tepperargument so that all sensors that are attached to the device become
80eb3a3472SHasso Tepperaccessible via the sysctl interface.
817dcbe396SSascha WildnerThe
82eb3a3472SHasso Tepper.Fn sensordev_deinstall
837dcbe396SSascha Wildnerfunction can be used to remove sensor devices previously registered by
84eb3a3472SHasso Tepper.Fn sensordev_install .
85eb3a3472SHasso Tepper.Pp
86eb3a3472SHasso TepperDrivers are responsible for retrieving, interpreting and normalising
87eb3a3472SHasso Teppersensor values and updating the sensor struct periodically.
88eb3a3472SHasso TepperIf the driver needs process context, for example to sleep, it can
89eb3a3472SHasso Tepperregister a task with the sensor framework.
90eb3a3472SHasso Tepper.Pp
917dcbe396SSascha WildnerThe
92eb3a3472SHasso Tepper.Fn sensor_task_register
937dcbe396SSascha Wildnerfunction is used to register a periodic task to update sensors.
94eb3a3472SHasso TepperThe
95eb3a3472SHasso Tepper.Fa func
96eb3a3472SHasso Tepperargument is a pointer to the function to run with an interval of
97eb3a3472SHasso Tepper.Fa period
98eb3a3472SHasso Tepperseconds.
99eb3a3472SHasso TepperThe
100eb3a3472SHasso Tepper.Fa arg
101eb3a3472SHasso Tepperparameter is the argument given to the
102eb3a3472SHasso Tepper.Fa func
103eb3a3472SHasso Tepperfunction.
104eb3a3472SHasso TepperThe
105eb3a3472SHasso Tepper.Fn sensor_task_unregister
1067dcbe396SSascha Wildnerfunction removes all tasks previously registered with
107eb3a3472SHasso Tepper.Fn sensor_task_register
108eb3a3472SHasso Tepperwith an argument of
109eb3a3472SHasso Tepper.Fa arg .
110eb3a3472SHasso Tepper.Sh COMPATIBILITY
111eb3a3472SHasso Tepper.Ss sensor_task
112eb3a3472SHasso TepperThe
113eb3a3472SHasso Tepper.Fn sensor_task_register
114eb3a3472SHasso Tepperand
115eb3a3472SHasso Tepper.Fn sensor_task_unregister
116eb3a3472SHasso Tepperfunctions that are included in
117eb3a3472SHasso Tepper.Ox 4.2
118eb3a3472SHasso Tepperand later
119eb3a3472SHasso Tepperare not compatible with
1209d3086b7SThomas Nikolajsen.Dx .
1219d3086b7SThomas Nikolajsen.Dx
122eb3a3472SHasso Tepperincludes an implementation that is similar and compatible
123eb3a3472SHasso Tepperwith an earlier version of
124eb3a3472SHasso Tepperthese
1257dcbe396SSascha Wildner.Fn sensor_task
126eb3a3472SHasso Tepperfunctions that was available from
127eb3a3472SHasso Tepper.Ox 3.9
128eb3a3472SHasso Tepperuntil
129eb3a3472SHasso Tepper.Ox 4.1 .
130eb3a3472SHasso Tepper.Pp
131eb3a3472SHasso TepperDrivers that only call
132eb3a3472SHasso Tepper.Fn sensor_task_register
1337dcbe396SSascha Wildnerand do not check its return value are not affected by this
1347dcbe396SSascha Wildner.Fn sensor_task
135eb3a3472SHasso Teppercompatibility notice.
136eb3a3472SHasso Tepper.Sh SEE ALSO
137eb3a3472SHasso Tepper.Xr systat 1 ,
138eb3a3472SHasso Tepper.Xr sysctl 3 ,
139eb3a3472SHasso Tepper.Xr sensorsd 8 ,
140eb3a3472SHasso Tepper.Xr sysctl 8
141eb3a3472SHasso Tepper.Sh HISTORY
142eb3a3472SHasso TepperThe sensor framework was written by
143eb3a3472SHasso Tepper.An Alexander Yurchenko Aq grange@openbsd.org
144eb3a3472SHasso Tepperand first appeared in
145eb3a3472SHasso Tepper.Ox 3.4 .
146eb3a3472SHasso Tepper.An David Gwynne Aq dlg@openbsd.org
147eb3a3472SHasso Tepperlater extended it for
148eb3a3472SHasso Tepper.Ox 3.8 .
149eb3a3472SHasso Tepper.An Constantine A. Murenin Aq cnst+openbsd@bugmail.mojo.ru
150eb3a3472SHasso Tepperextended it even further by introducing the concept of sensor devices in
151eb3a3472SHasso Tepper.Ox 4.1 .
152eb3a3472SHasso Tepper.Pp
153eb3a3472SHasso TepperThe framework was ported to
154eb3a3472SHasso Tepper.Fx
155eb3a3472SHasso Tepperby
156eb3a3472SHasso Tepper.An Constantine A. Murenin
157eb3a3472SHasso Tepperas a Google Summer of Code 2007 project.
158