Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2003 20:23:00 -0800
From:      Jordan K Hubbard <jkh@queasyweasel.com>
To:        kientzle@acm.org
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Reading rc.conf from C programs?
Message-ID:  <E10CAB05-1E09-11D7-A2B1-000393BB9222@queasyweasel.com>
In-Reply-To: <3E1362FD.6070001@acm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
There's no canned code for doing this, though sysinstall has some very 
basic parsing routines for reading/writing rc.conf variables you could 
certain crib from.  It sounds like that "thefish" utility someone else 
mentioned has an even more exotic parser, though I haven't compared the 
two implementations.  The readConfigFile() routine in sysinstall simply 
reads the configuration data into a fixed-size array, so it's pretty 
braindead.

- Jordan

On Wednesday, January 1, 2003, at 01:51 PM, Tim Kientzle wrote:

> I'm trying to figure out how to read and use
> /etc/rc.conf configuration variables from within
> a C program.  The standard technique, of course,
> is to use a shell-script wrapper and pass the
> extracted values to the C program on the command
> line.  But I want access to _all_ of the rc.conf
> variables, not just a couple of them, and I don't
> see any reasonable way to accomplish that with a
> shell wrapper.
>
> One approach would embed /bin/sh and drive that
> from my program.  (E.g., tell the embedded interpreter
> to read and interpret the config file, then
> programmatically query the config variables.)
> It's not clear to me how simple it would be to
> build an embeddable /bin/sh.
>
> Alternatively, I suppose I could fire up /bin/sh via
> popen and drive it from my program (passing 'echo $var'
> to query variables, etc.).  But I'm not entirely
> convinced this would work; what if a variable value has
> a newline in it, for example?
>
> Has anyone done anything like this before?
>
> Thanks,
>
> Tim Kientzle
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>
--
Jordan K. Hubbard
Engineering Manager, BSD technology group
Apple Computer


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E10CAB05-1E09-11D7-A2B1-000393BB9222>