17d57de60STakanori Watanabe.\" 27d57de60STakanori Watanabe.\" Copyright (c) 2019 Takanori Watanabe 37d57de60STakanori Watanabe.\" All rights reserved. 47d57de60STakanori Watanabe.\" 57d57de60STakanori Watanabe.\" Redistribution and use in source and binary forms, with or without 67d57de60STakanori Watanabe.\" modification, are permitted provided that the following conditions 77d57de60STakanori Watanabe.\" are met: 87d57de60STakanori Watanabe.\" 1. Redistributions of source code must retain the above copyright 97d57de60STakanori Watanabe.\" notice, this list of conditions and the following disclaimer. 107d57de60STakanori Watanabe.\" 2. Redistributions in binary form must reproduce the above copyright 117d57de60STakanori Watanabe.\" notice, this list of conditions and the following disclaimer in the 127d57de60STakanori Watanabe.\" documentation and/or other materials provided with the distribution. 137d57de60STakanori Watanabe.\" 147d57de60STakanori Watanabe.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 157d57de60STakanori Watanabe.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 167d57de60STakanori Watanabe.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 177d57de60STakanori Watanabe.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 187d57de60STakanori Watanabe.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 197d57de60STakanori Watanabe.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 207d57de60STakanori Watanabe.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 217d57de60STakanori Watanabe.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 227d57de60STakanori Watanabe.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 237d57de60STakanori Watanabe.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 247d57de60STakanori Watanabe.\" SUCH DAMAGE. 257d57de60STakanori Watanabe.\" 26*294de6bbSHiroki Sato.Dd February 16, 2020 277d57de60STakanori Watanabe.Dt ACPI_BATTERY 4 287d57de60STakanori Watanabe.Os 297d57de60STakanori Watanabe.Sh NAME 307d57de60STakanori Watanabe.Nm acpi_battery 317d57de60STakanori Watanabe.Nd ACPI battery management subsystem 327d57de60STakanori Watanabe.Sh SYNOPSIS 337d57de60STakanori Watanabe.Cd "device acpi" 347d57de60STakanori Watanabe.Sh DESCRIPTION 357d57de60STakanori WatanabeThe 367d57de60STakanori Watanabe.Nm 377d57de60STakanori Watanabeis a driver for battery management features of the ACPI module. 38*294de6bbSHiroki Sato.Pp 397d57de60STakanori WatanabeAn ACPI-compatible battery device supports either a Control 407d57de60STakanori WatanabeMethod Battery interface or a Smart Battery subsystem interface. 417d57de60STakanori WatanabeThe former is accessed by the AML 427d57de60STakanori Watanabe.Pq ACPI Machine Language 437d57de60STakanori Watanabecode control methods, 447d57de60STakanori Watanabeand the latter is controlled directly through the ACPI EC 457d57de60STakanori Watanabe.Pq Embedded Controller 467d57de60STakanori Watanabetypically via an SMBus interface. 47*294de6bbSHiroki Sato.Pp 487d57de60STakanori WatanabeThis driver supports the 497d57de60STakanori Watanabe.Xr sysctl 8 507d57de60STakanori Watanabeand 517d57de60STakanori Watanabe.Xr ioctl 2 527d57de60STakanori Watanabeinterfaces as well as the 537d57de60STakanori Watanabe.Xr devd 8 547d57de60STakanori Watanabeevent notification interface. 557d57de60STakanori Watanabe.Sh IOCTLS 567d57de60STakanori WatanabeEvery ioctl for the 577d57de60STakanori Watanabe.Nm 587d57de60STakanori Watanabedriver takes a single integer value for the battery unit 597d57de60STakanori Watanabenumber as an argument, 607d57de60STakanori Watanabeand returns a specific structure for each request. 617d57de60STakanori WatanabeA special unit number 62*294de6bbSHiroki Sato.Dv ACPI_BATTERY_ALL_UNITS 637d57de60STakanori Watanabespecifies all of the attached units 647d57de60STakanori Watanabeand reports accumulated information. 657d57de60STakanori Watanabe.Bl -tag -width indent 66*294de6bbSHiroki Sato.It Dv ACPIIO_BATT_GET_UNITS Vt int 677d57de60STakanori WatanabeReturns the number of battery units in the system. 687d57de60STakanori WatanabeThe unit number argument will be ignored. 69*294de6bbSHiroki Sato.It Dv ACPIIO_BATT_GET_BATTINFO Vt struct acpi_battinfo 707d57de60STakanori WatanabeReturns the following: 717d57de60STakanori Watanabe.Bl -tag -width indent 72*294de6bbSHiroki Sato.It Va cap 737d57de60STakanori WatanabeBattery capacity in percent, 74*294de6bbSHiroki Sato.It Va min 757d57de60STakanori WatanabeRemaining battery life in minutes, 76*294de6bbSHiroki Sato.It Va state 777d57de60STakanori WatanabeCurrent status of the battery encoded in the following: 787d57de60STakanori Watanabe.Bl -tag -width indent 79*294de6bbSHiroki Sato.It Dv ACPI_BATT_STAT_DISCHARG Pq 0x0001 807d57de60STakanori WatanabeBattery is discharging, 81*294de6bbSHiroki Sato.It Dv ACPI_BATT_STAT_CHARGING Pq 0x0002 827d57de60STakanori WatanabeBattery is being charged, or 83*294de6bbSHiroki Sato.It Dv ACPI_BATT_STAT_CRITICAL Pq 0x0004 847d57de60STakanori WatanabeRemaining battery life is critically low. 857d57de60STakanori Watanabe.El 867d57de60STakanori Watanabe.Pp 877d57de60STakanori WatanabeNote that the status bits of each battery will be 887d57de60STakanori Watanabeconsolidated when 89*294de6bbSHiroki Sato.Dv ACPI_BATTERY_ALL_UNITS 907d57de60STakanori Watanabeis specified. 91*294de6bbSHiroki Sato.It Va rate 927d57de60STakanori WatanabeCurrent battery discharging rate in mW. 937d57de60STakanori Watanabe.Li -1 947d57de60STakanori Watanabemeans not discharging right now. 957d57de60STakanori Watanabe.El 96*294de6bbSHiroki Sato.It Dv ACPIIO_BATT_GET_BIX Vt struct acpi_bix 977d57de60STakanori WatanabeReturns battery information given by the ACPI 98*294de6bbSHiroki Sato.Li _BIX Pq Battery Information 997d57de60STakanori Watanabeobject, 1007d57de60STakanori Watanabewhich is the static portion of the Control Method 1017d57de60STakanori WatanabeBattery information. 102*294de6bbSHiroki SatoIn the case of a Smart Battery attached to 103*294de6bbSHiroki SatoSMBus or a Control Method Battery with a 104*294de6bbSHiroki Sato.Li _BIF 105*294de6bbSHiroki Satoobject, 1067d57de60STakanori Watanabethis ioctl will build a 107*294de6bbSHiroki Sato.Vt struct acpi_bix 1087d57de60STakanori Watanabestructure based on the obtained information 1097d57de60STakanori Watanabeand return it. 1107d57de60STakanori Watanabe.Bl -tag -width indent 111*294de6bbSHiroki Sato.It Va rev 112*294de6bbSHiroki SatoRevision number of the object. 113*294de6bbSHiroki SatoThere are the following well-known values: 114*294de6bbSHiroki Sato.Bl -tag -width indent 115*294de6bbSHiroki Sato.It Dv ACPI_BIX_REV_0 Pq 0x0000 116*294de6bbSHiroki SatoA 117*294de6bbSHiroki Sato.Li _BIX 118*294de6bbSHiroki Satoobject in ACPI 4.0. 119*294de6bbSHiroki Sato.It Dv ACPI_BIX_REV_1 Pq 0x0001 120*294de6bbSHiroki SatoA 121*294de6bbSHiroki Sato.Li _BIX 122*294de6bbSHiroki Satoobject in ACPI 6.0. 123*294de6bbSHiroki Sato.It Dv ACPI_BIX_REV_BIF Pq 0xffff 124*294de6bbSHiroki SatoA 125*294de6bbSHiroki Sato.Li _BIX 126*294de6bbSHiroki Satoobject built from the 127*294de6bbSHiroki Sato.Li _BIF 128*294de6bbSHiroki Satoobject found on the system. 129*294de6bbSHiroki Sato.El 130*294de6bbSHiroki Sato.Pp 131*294de6bbSHiroki SatoNote that this field should be checked by using 132*294de6bbSHiroki Sato.Fn ACPI_BIX_REV_MIN_CHECK var rev 133*294de6bbSHiroki Satomacro when checking the minimum revision number. 134*294de6bbSHiroki Sato.It Va units 1357d57de60STakanori WatanabeIndicates the units used by the battery to report its 1367d57de60STakanori Watanabecapacity and charge rate encoded in the following: 1377d57de60STakanori Watanabe.Bl -tag -width indent 138*294de6bbSHiroki Sato.It ACPI_BIX_UNITS_MW Pq 0x00000000 1397d57de60STakanori Watanabein mW 1407d57de60STakanori Watanabe.Pq power 141*294de6bbSHiroki Sato.It ACPI_BIX_UNITS_MA Pq 0x00000001 1427d57de60STakanori Watanabein mA 1437d57de60STakanori Watanabe.Pq current 1447d57de60STakanori Watanabe.El 1457d57de60STakanori Watanabe.Pp 1467d57de60STakanori WatanabeNote that capacity is expressed in mWh or mAh, 1477d57de60STakanori Watanabeand rate is expressed in mW or mA, 1487d57de60STakanori Watanaberespectively. 149*294de6bbSHiroki Sato.It Va dcap 1507d57de60STakanori WatanabeThe Battery's design capacity, 1517d57de60STakanori Watanabewhich is the nominal capacity of a new battery. 1527d57de60STakanori WatanabeThis is expressed as power or current depending on 1537d57de60STakanori Watanabethe value of 1547d57de60STakanori Watanabe.Va units . 155*294de6bbSHiroki Sato.It Va lfcap 1567d57de60STakanori WatanabePredicted battery capacity when fully charged. 1577d57de60STakanori WatanabeTypically this will decrease every charging cycle. 1587d57de60STakanori Watanabe.It btech 1597d57de60STakanori WatanabeBattery technology: 1607d57de60STakanori Watanabe.Bl -tag -width indent 1617d57de60STakanori Watanabe.It 0x00000000 Primary cell Pq non-rechargable 162*294de6bbSHiroki Sato.It 0x00000001 Secondary cell Pq rechargable 1637d57de60STakanori Watanabe.El 164*294de6bbSHiroki Sato.It Va dvol 1657d57de60STakanori WatanabeDesign voltage in mV, 1667d57de60STakanori Watanabewhich is the nominal voltage of a new battery. 167*294de6bbSHiroki Sato.It Va wcap 1687d57de60STakanori WatanabeDesign capacity of warning. 1697d57de60STakanori WatanabeWhen a discharging battery device reaches this capacity, 1707d57de60STakanori Watanabenotification is sent to the system. 171*294de6bbSHiroki Sato.It Va lcap 1727d57de60STakanori WatanabeDesign capacity of low. 173*294de6bbSHiroki Sato.It Va cycles 174*294de6bbSHiroki Sato.Pq rev 0 or newer 175*294de6bbSHiroki SatoThe number of cycles the battery has experienced. 176*294de6bbSHiroki SatoA cycle means an amount of discharge occurred which was 177*294de6bbSHiroki Satoapproximately equal to the value of Design Capacity. 178*294de6bbSHiroki Sato.It Va accuracy 179*294de6bbSHiroki Sato.Pq rev 0 or newer 180*294de6bbSHiroki SatoThe accuracy of the battery capacity measurement, 181*294de6bbSHiroki Satoin thousandth of a percent. 182*294de6bbSHiroki Sato.It Va stmax 183*294de6bbSHiroki Sato.Pq rev 0 or newer 184*294de6bbSHiroki SatoThe Maximum Sampling Time of the battery in 185*294de6bbSHiroki Satomilliseconds. 186*294de6bbSHiroki SatoThis is the maximum duration between two consecutive 187*294de6bbSHiroki Satomeasurements of the battery's capacities specified in 188*294de6bbSHiroki Sato.Li _BST . 189*294de6bbSHiroki SatoIf two succeeding readings of 190*294de6bbSHiroki Sato.Li _BST 191*294de6bbSHiroki Satobeyond this duration occur, 192*294de6bbSHiroki Satotwo different results can be returned. 193*294de6bbSHiroki Sato.It Va stmin 194*294de6bbSHiroki Sato.Pq rev 0 or newer 195*294de6bbSHiroki SatoThe Minimum Sampling Time of the battery in 196*294de6bbSHiroki Satomilliseconds. 197*294de6bbSHiroki Sato.It Va aimax 198*294de6bbSHiroki Sato.Pq rev 0 or newer 199*294de6bbSHiroki SatoThe Maximum Average Interval of the battery in 200*294de6bbSHiroki Satomilliseconds. 201*294de6bbSHiroki SatoThis is the length of time within which the battery 202*294de6bbSHiroki Satoaverages the capacity measurements specified in 203*294de6bbSHiroki Sato.Li _BST . 204*294de6bbSHiroki SatoThe Sampling Time specifies the frequency of measurements, 205*294de6bbSHiroki Satoand the Average Interval specifies the width of the time 206*294de6bbSHiroki Satowindow of every measurement. 207*294de6bbSHiroki Sato.It Va aimin 208*294de6bbSHiroki Sato.Pq rev 0 or newer 209*294de6bbSHiroki SatoThe Minimum Average Interval of the battery in 210*294de6bbSHiroki Satomilliseconds. 211*294de6bbSHiroki Sato.It Va gra1 2127d57de60STakanori WatanabeBattery capacity granularity between 2137d57de60STakanori Watanabe.Va low 2147d57de60STakanori Watanabeand 2157d57de60STakanori Watanabe.Va warning . 2167d57de60STakanori WatanabeThis is expressed as power or current depending on 2177d57de60STakanori Watanabethe value of 2187d57de60STakanori Watanabe.Va units . 219*294de6bbSHiroki Sato.It Va gra2 2207d57de60STakanori WatanabeBattery capacity granularity between 2217d57de60STakanori Watanabe.Va warning 2227d57de60STakanori Watanabeand 2237d57de60STakanori Watanabe.Va full . 2247d57de60STakanori WatanabeThis is expressed as power or current depending on 2257d57de60STakanori Watanabethe value of 2267d57de60STakanori Watanabe.Va units . 227*294de6bbSHiroki Sato.It Va model 2287d57de60STakanori WatanabeModel number of the battery as a string. 229*294de6bbSHiroki Sato.It Va serial 2307d57de60STakanori WatanabeSerial number of the battery as a string. 231*294de6bbSHiroki Sato.It Va type 2327d57de60STakanori WatanabeType identifier of the battery as a string. 233*294de6bbSHiroki Sato.It Va oeminfo 2347d57de60STakanori WatanabeOEM-specific information of the battery as a string. 235*294de6bbSHiroki Sato.It Va scap 236*294de6bbSHiroki Sato.Pq rev 1 or newer 237*294de6bbSHiroki SatoBattery swapping capability encoded in the following: 238*294de6bbSHiroki Sato.Bl -tag -width indent 239*294de6bbSHiroki Sato.It ACPI_BIX_SCAP_NO Pq 0x00000000 240*294de6bbSHiroki SatoNon-swappable 241*294de6bbSHiroki Sato.It ACPI_BIX_SCAP_COLD Pq 0x00000001 242*294de6bbSHiroki SatoCold-swappable 243*294de6bbSHiroki Sato.It ACPI_BIX_SCAP_HOT Pq 0x00000010 244*294de6bbSHiroki SatoHot-swappable 2457d57de60STakanori Watanabe.El 246*294de6bbSHiroki Sato.El 247*294de6bbSHiroki Sato.It Dv ACPIIO_BATT_GET_BIF Vt struct acpi_bif 248*294de6bbSHiroki Sato.Pq deprecated 249*294de6bbSHiroki SatoReturns battery information given by the ACPI 250*294de6bbSHiroki Sato.Li _BIF Pq Battery Information 251*294de6bbSHiroki Satoobject, 252*294de6bbSHiroki Satowhich was deprecated in ACPI 4.0 specification. 253*294de6bbSHiroki SatoThe data structure is a subset of 254*294de6bbSHiroki Sato.Vt struct acpi_bix . 255*294de6bbSHiroki Sato.Pp 256*294de6bbSHiroki SatoNote that this ioctl will built a 257*294de6bbSHiroki Sato.Vt struct acpi_bif 258*294de6bbSHiroki Satostructure based on the obtained information 259*294de6bbSHiroki Satoeven if this object is not available and a 260*294de6bbSHiroki Sato.Li _BIX 261*294de6bbSHiroki Satoobject is found. 2627d57de60STakanori Watanabe.It ACPIIO_BATT_GET_BST Vt struct acpi_bst 2637d57de60STakanori WatanabeReturns battery information given by the ACPI 2647d57de60STakanori Watanabe.Li _BST Pq Battery Status 2657d57de60STakanori Watanabeobject, 2667d57de60STakanori Watanabewhich is the present battery status. 2677d57de60STakanori WatanabeIn the case of a Smart Battery attached to SMBus, 2687d57de60STakanori Watanabethis ioctl will build a 2697d57de60STakanori Watanabe.Vt struct acpi_bst 2707d57de60STakanori Watanabestructure based on the obtained information 2717d57de60STakanori Watanabeand return it. 2727d57de60STakanori Watanabe.Bl -tag -width indent 273*294de6bbSHiroki Sato.It Va state 2747d57de60STakanori WatanabeBattery state. 2757d57de60STakanori WatanabeThe value is encoded in the same way as 2767d57de60STakanori Watanabe.Va state 2777d57de60STakanori Watanabeof 2787d57de60STakanori Watanabe.Vt struct acpi_battinfo . 279*294de6bbSHiroki Sato.It Va rate 2807d57de60STakanori WatanabeBattery present rate of charging or discharging. 2817d57de60STakanori WatanabeThe unit of the value depends on 2827d57de60STakanori Watanabe.Va unit 2837d57de60STakanori Watanabeof 2847d57de60STakanori Watanabe.Vt struct acpi_bif . 285*294de6bbSHiroki Sato.It Va cap 2867d57de60STakanori WatanabeBattery remaining capacity. 2877d57de60STakanori WatanabeThe unit of this value depends on 2887d57de60STakanori Watanabe.Va unit 2897d57de60STakanori Watanabeof 2907d57de60STakanori Watanabe.Vt struct acpi_bif . 291*294de6bbSHiroki Sato.It Va volt 2927d57de60STakanori WatanabeBattery present voltage. 2937d57de60STakanori Watanabe.El 2947d57de60STakanori Watanabe.El 2957d57de60STakanori Watanabe.Sh SYSCTL VARIABLES 2967d57de60STakanori WatanabeThe following 2977d57de60STakanori Watanabe.Xr sysctl 8 2987d57de60STakanori Watanabevariables export battery status. 2997d57de60STakanori WatanabeNote that they are accumulated status of all of the 3007d57de60STakanori Watanabeconnected batteries: 3017d57de60STakanori Watanabe.Bl -tag -width indent 3027d57de60STakanori Watanabe.It Va hw.acpi.battery.info_expire 3037d57de60STakanori WatanabeInformation cache expiration time in seconds. 3047d57de60STakanori WatanabeThe battery information obtained by 305*294de6bbSHiroki Sato.Li _BIX 306*294de6bbSHiroki Satoor 3077d57de60STakanori Watanabe.Li _BIF 3087d57de60STakanori Watanabeobject will be stored and reused for successive 3097d57de60STakanori Watanaberead access to this MIB within the specified period. 3107d57de60STakanori Watanabe.It Va hw.acpi.battery.units 3117d57de60STakanori WatanabeNumber of battery units in the system. 3127d57de60STakanori Watanabe.It Va hw.acpi.battery.state 3137d57de60STakanori WatanabeCurrent battery charging status. 3147d57de60STakanori WatanabeThis is same as 3157d57de60STakanori Watanabe.Va state 3167d57de60STakanori Watanabeof 3177d57de60STakanori Watanabe.Vt struct acpi_battinfo . 3187d57de60STakanori Watanabe.It Va hw.acpi.battery.rate 3197d57de60STakanori WatanabeCurrent battery discharging rate in mW. 3207d57de60STakanori Watanabe.It Va hw.acpi.battery.time 3217d57de60STakanori WatanabeRemaining battery life in minutes. 3227d57de60STakanori WatanabeIf the battery is not discharging, 3237d57de60STakanori Watanabethe value shows 3247d57de60STakanori Watanabe.Li -1 . 3257d57de60STakanori Watanabe.It Va hw.acpi.battery.life 3267d57de60STakanori WatanabeBattery capacity in percent. 3277d57de60STakanori Watanabe.El 3287d57de60STakanori Watanabe.Sh EVENT NOTIFICATIONS 3297d57de60STakanori WatanabeBattery-related event notifications are sent 3307d57de60STakanori Watanabeto the userland via the 3317d57de60STakanori Watanabe.Xr devd 8 3327d57de60STakanori Watanabeinterface. 3337d57de60STakanori WatanabeSee 3347d57de60STakanori Watanabe.Pa /etc/devd.conf 3357d57de60STakanori Watanabeand 3367d57de60STakanori Watanabe.Xr devd.conf 5 3377d57de60STakanori Watanabefor more details. 3387d57de60STakanori WatanabeNote that notifications are supported only by 3397d57de60STakanori Watanabethe Control Method Battery. 3407d57de60STakanori Watanabe.Pp 3417d57de60STakanori WatanabeThe 3427d57de60STakanori Watanabe.Nm 3437d57de60STakanori Watanabedriver sends events with the following attributes: 3447d57de60STakanori Watanabe.Pp 3457d57de60STakanori Watanabe.Bl -tag -width "subsystem" -compact 3467d57de60STakanori Watanabe.It system 3477d57de60STakanori Watanabe.Li ACPI 3487d57de60STakanori Watanabe.It subsystem 3497d57de60STakanori Watanabe.Li CMBAT 3507d57de60STakanori Watanabe.It type 3517d57de60STakanori WatanabeThe fully qualified battery object path as in the ASL. 3527d57de60STakanori Watanabe.It notify 3537d57de60STakanori WatanabeAn integer designating the event: 3547d57de60STakanori Watanabe.Pp 3557d57de60STakanori Watanabe.Bl -tag -width indent -compact 3567d57de60STakanori Watanabe.It Li 0x80 3577d57de60STakanori WatanabeBattery status was changed. 3587d57de60STakanori Watanabe.It Li 0x81 3597d57de60STakanori WatanabeBattery information was changed. 3607d57de60STakanori Watanabe.El 3617d57de60STakanori Watanabe.El 3627d57de60STakanori Watanabe.Sh SEE ALSO 3637d57de60STakanori Watanabe.Xr acpi 4 , 3647d57de60STakanori Watanabe.Xr acpiconf 8 3657d57de60STakanori Watanabe.Sh AUTHORS 3667d57de60STakanori Watanabe.An -nosplit 3677d57de60STakanori Watanabe.An Nate Lawson Aq Mt njl@FreeBSD.org , 3687d57de60STakanori Watanabe.An Munehiro Matsuda , 3697d57de60STakanori Watanabe.An Takanori Watanabe Aq Mt takawata@FreeBSD.org , 3707d57de60STakanori Watanabe.An Mitsuru IWASAKI Aq Mt iwasaki@FreeBSD.org , 371*294de6bbSHiroki Sato.An Hans Petter Selasky Aq Mt hselasky@FreeBSD.org , 3727d57de60STakanori Watanabeand 373*294de6bbSHiroki Sato.An Hiroki Sato Aq Mt hrs@FreeBSD.org . 3747d57de60STakanori Watanabe.Pp 3757d57de60STakanori WatanabeThis manual page was written by 376*294de6bbSHiroki Sato.An Takanori Watanabe Aq Mt takawata@FreeBSD.org 377*294de6bbSHiroki Satoand 378*294de6bbSHiroki Sato.An Hiroki Sato Aq Mt hrs@FreeBSD.org . 379