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]"