summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_environment.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2004-10-31 15:50:33 +0000
committerdes <des@FreeBSD.org>2004-10-31 15:50:33 +0000
commit22d75b597a9940a02c015527c38646782f9ee3a1 (patch)
tree28e07b26ade58685bdf19420484440063653d800 /sys/kern/kern_environment.c
parent871722fc592554929f8b11fe1281250ed4096621 (diff)
downloadFreeBSD-src-22d75b597a9940a02c015527c38646782f9ee3a1.zip
FreeBSD-src-22d75b597a9940a02c015527c38646782f9ee3a1.tar.gz
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
Diffstat (limited to 'sys/kern/kern_environment.c')
-rw-r--r--sys/kern/kern_environment.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
index 96b57d9..7f88adc 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;
OpenPOWER on IntegriCloud