diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2004-10-31 15:50:33 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2004-10-31 15:50:33 +0000 |
commit | b0e1e474f7298863eaac6955216829754a38f714 (patch) | |
tree | 28e07b26ade58685bdf19420484440063653d800 /sys/kern/kern_environment.c | |
parent | 38228f7221e4dde43a8a54597f03a2078fcec99c (diff) | |
download | src-b0e1e474f7298863eaac6955216829754a38f714.tar.gz src-b0e1e474f7298863eaac6955216829754a38f714.zip |
Add TUNABLE_LONG and TUNABLE_ULONG, and use the latter for the
hw.pci.host_mem_start tunable. Add comments to TUNABLE_INT and
TUNABLE_QUAD recommending against their use.
MFC after: 3 weeks
Notes
Notes:
svn path=/head/; revision=137099
Diffstat (limited to 'sys/kern/kern_environment.c')
-rw-r--r-- | sys/kern/kern_environment.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index 96b57d9170d5..7f88adca6e66 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -415,6 +415,36 @@ getenv_int(const char *name, int *data) } /* + * Return a long value from an environment variable. + */ +long +getenv_long(const char *name, long *data) +{ + quad_t tmp; + long rval; + + rval = getenv_quad(name, &tmp); + if (rval) + *data = (long) tmp; + return (rval); +} + +/* + * Return an unsigned long value from an environment variable. + */ +unsigned long +getenv_ulong(const char *name, unsigned long *data) +{ + quad_t tmp; + long rval; + + rval = getenv_quad(name, &tmp); + if (rval) + *data = (unsigned long) tmp; + return (rval); +} + +/* * Return a quad_t value from an environment variable. */ int @@ -464,6 +494,22 @@ tunable_int_init(void *data) } void +tunable_long_init(void *data) +{ + struct tunable_long *d = (struct tunable_long *)data; + + TUNABLE_LONG_FETCH(d->path, d->var); +} + +void +tunable_ulong_init(void *data) +{ + struct tunable_ulong *d = (struct tunable_ulong *)data; + + TUNABLE_ULONG_FETCH(d->path, d->var); +} + +void tunable_quad_init(void *data) { struct tunable_quad *d = (struct tunable_quad *)data; |