Date: Wed, 24 Nov 2010 12:57:02 -0600 From: Dan Nelson <dnelson@allantgroup.com> To: David DEMELIER <demelier.david@gmail.com> Cc: FreeBSD Questions <freebsd-questions@freebsd.org> Subject: Re: trying to sysctl(3) a char value Message-ID: <20101124185702.GE58734@dan.emsphone.com> In-Reply-To: <AANLkTikBXRoDHmGnQLoi4MEoBv09J8vbjG=6wriRxqg%2B@mail.gmail.com> References: <AANLkTikBXRoDHmGnQLoi4MEoBv09J8vbjG=6wriRxqg%2B@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Nov 24), David DEMELIER said: > Since I cannot adjust the brightness on my HP Probook because it sucks > I'm writing a small script that can be use instead. I need to sysctl > the following sysctl variables : > > hw.acpi.video.lcd0.brightness > hw.acpi.video.lcd0.levels > > the -brightness one is easy since it's an integer, but the levels is > possibly a char : > > markand@Melon ~ $ sysctl hw.acpi.video.lcd0.brightness > hw.acpi.video.lcd0.brightness: 90 > markand@Melon ~ $ sysctl hw.acpi.video.lcd0.levels > hw.acpi.video.lcd0.levels: 100 50 0 5 10 15 20 25 30 33 36 40 43 46 50 55 60 65 70 75 80 83 86 90 93 96 100 Looking at the source, that sysctl definition is CTLTYPE_OPAQUE with a display format of "I", which means that it's just an array of integers. Print each one in a loop. You can also take a look at /usr/src/sbin/sysctl/sysctl.c to see how it printed the numbers. -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101124185702.GE58734>