diff options
author | msmith <msmith@FreeBSD.org> | 1999-01-15 17:25:02 +0000 |
---|---|---|
committer | msmith <msmith@FreeBSD.org> | 1999-01-15 17:25:02 +0000 |
commit | 6a320171df6887e71cc3983e15d82601e7d80931 (patch) | |
tree | ac1f691588a77742413680dee7bc60d65412349d /sys/kern/kern_environment.c | |
parent | c3f0fef383a8cdf513ab9e497db27eea8a9d46fa (diff) | |
download | FreeBSD-src-6a320171df6887e71cc3983e15d82601e7d80931.zip FreeBSD-src-6a320171df6887e71cc3983e15d82601e7d80931.tar.gz |
Add getenv_int(), specifically for retrieving integer values from kernel
environment variables. This makes it easy to pass tuning parameters
in from the bootloader.
Diffstat (limited to 'sys/kern/kern_environment.c')
-rw-r--r-- | sys/kern/kern_environment.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index 790fbf4..2243e27 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_environment.c,v 1.2 1998/10/09 11:03:46 jkh Exp $ + * $Id: kern_environment.c,v 1.3 1998/10/09 21:21:34 msmith Exp $ */ /* @@ -65,6 +65,25 @@ getenv(char *name) return(NULL); } +/* + * Return an integer value from an environment variable. + */ +int +getenv_int(char *name, int *data) +{ + char *value, *vtp; + quad_t iv; + + if ((value = getenv(name)) == NULL) + return(0); + + iv = strtoq(value, &vtp, 0); + if ((vtp == value) || (*vtp != 0)) + return(0); + + *data = (int)iv; + return(1); +} static int sysctl_kernenv SYSCTL_HANDLER_ARGS |