Craig Rodrigues wrote:
Is there a C library that comes with FreeBSD which
can be used to parse, append to, and validate
rc.conf?

I'd like to customize some of the settings in /etc/rc.conf
with my own GUI-based program.  It's not too hard
to write something on my own, but I was wondering
if a reusable library existed in FreeBSD 4.x or 5.x for doing this.

There was a detailed discussion of this topic about a year ago. Here is how to obtain the current settings from rc.conf from within a C program:

* Clear the current environment

 * popen() a shell command that sources rc.conf, then
   runs printenv

* read and parse the output of printenv

The basic idea is to just let the shell do
the work for you.

You can make this process a bit more predictable
by using a modified printenv that dumps variable
names and values in hex or something similar.
(Or, submit a patch to the existing printenv.)

To update rc.conf, just append new statements
to the end of the file.  Don't try to edit it
in place.  Later variable settings will override
earlier ones, so this will have the expected
result without possibly trashing someone's custom
shell scripting.

I may have overlooked a few details, but this
should be enough to get you started.

Tim Kientzle

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to