Skip site navigation (1)Skip section navigation (2)
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>