summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_environment.c
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1999-01-15 17:25:02 +0000
committermsmith <msmith@FreeBSD.org>1999-01-15 17:25:02 +0000
commit6a320171df6887e71cc3983e15d82601e7d80931 (patch)
treeac1f691588a77742413680dee7bc60d65412349d /sys/kern/kern_environment.c
parentc3f0fef383a8cdf513ab9e497db27eea8a9d46fa (diff)
downloadFreeBSD-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.c21
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
OpenPOWER on IntegriCloud