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