Index: owl.h
===================================================================
--- owl.h	(revision e19eb97bacd75cf02905ec2b7a6a73b9642b907a)
+++ owl.h	(revision 64735f070e2e046896d08af6734c2350b0e752a3)
@@ -218,5 +218,5 @@
   char *description;		/* detailed description */
   void *val;                    /* current value */
-  int  (*validate_fn)(struct _owl_variable *v, const void *newval);
+  int  (*validate_fn)(const struct _owl_variable *v, const void *newval);
                                 /* returns 1 if newval is valid */
   int  (*set_fn)(struct _owl_variable *v, const void *newval); 
@@ -232,9 +232,9 @@
 				 * should make a copy. 
 				 * returns 0 on success. */
-  const void *(*get_fn)(struct _owl_variable *v);
+  const void *(*get_fn)(const struct _owl_variable *v);
 				/* returns a reference to the current value.
 				 * WARNING:  this approach is hard to make
 				 * thread-safe... */
-  int  (*get_tostring_fn)(struct _owl_variable *v, 
+  int  (*get_tostring_fn)(const struct _owl_variable *v, 
 			  char *buf, int bufsize, const void *val); 
                                 /* converts val to a string 
Index: variable.c
===================================================================
--- variable.c	(revision e19eb97bacd75cf02905ec2b7a6a73b9642b907a)
+++ variable.c	(revision 64735f070e2e046896d08af6734c2350b0e752a3)
@@ -375,5 +375,5 @@
 /* commonly useful */
 
-int owl_variable_int_validate_gt0(owl_variable *v, const void *newval)
+int owl_variable_int_validate_gt0(const owl_variable *v, const void *newval)
 {
   if (newval == NULL) return(0);
@@ -382,5 +382,5 @@
 }
 
-int owl_variable_int_validate_positive(owl_variable *v, const void *newval)
+int owl_variable_int_validate_positive(const owl_variable *v, const void *newval)
 {
   if (newval == NULL) return(0);
@@ -628,13 +628,13 @@
 
 
-const char *owl_variable_get_description(owl_variable *v) {
+const char *owl_variable_get_description(const owl_variable *v) {
   return v->description;
 }
 
-const char *owl_variable_get_summary(owl_variable *v) {
+const char *owl_variable_get_summary(const owl_variable *v) {
   return v->summary;
 }
 
-const char *owl_variable_get_validsettings(owl_variable *v) {
+const char *owl_variable_get_validsettings(const owl_variable *v) {
   if (v->validsettings) {
     return v->validsettings;
@@ -839,5 +839,5 @@
 /* default common functions */
 
-const void *owl_variable_get_default(owl_variable *v) {
+const void *owl_variable_get_default(const owl_variable *v) {
   return v->val;
 }
@@ -849,5 +849,5 @@
 /* default functions for booleans */
 
-int owl_variable_bool_validate_default(owl_variable *v, const void *newval) {
+int owl_variable_bool_validate_default(const owl_variable *v, const void *newval) {
   if (newval == NULL) return(0);
   else if (*(const int*)newval==1 || *(const int*)newval==0) return(1);
@@ -871,5 +871,5 @@
 }
 
-int owl_variable_bool_get_tostring_default(owl_variable *v, char* buf, int bufsize, const void *val) {
+int owl_variable_bool_get_tostring_default(const owl_variable *v, char* buf, int bufsize, const void *val) {
   if (val == NULL) {
     snprintf(buf, bufsize, "<null>");
@@ -889,5 +889,5 @@
 /* default functions for integers */
 
-int owl_variable_int_validate_default(owl_variable *v, const void *newval) {
+int owl_variable_int_validate_default(const owl_variable *v, const void *newval) {
   if (newval == NULL) return(0);
   else return (1);
@@ -910,5 +910,5 @@
 }
 
-int owl_variable_int_get_tostring_default(owl_variable *v, char* buf, int bufsize, const void *val) {
+int owl_variable_int_get_tostring_default(const owl_variable *v, char* buf, int bufsize, const void *val) {
   if (val == NULL) {
     snprintf(buf, bufsize, "<null>");
@@ -922,5 +922,5 @@
 /* default functions for enums (a variant of integers) */
 
-int owl_variable_enum_validate(owl_variable *v, const void *newval) {  
+int owl_variable_enum_validate(const owl_variable *v, const void *newval) {  
   char **enums;
   int nenums, val;
@@ -952,5 +952,5 @@
 }
 
-int owl_variable_enum_get_tostring(owl_variable *v, char* buf, int bufsize, const void *val) {
+int owl_variable_enum_get_tostring(const owl_variable *v, char* buf, int bufsize, const void *val) {
   char **enums;
   int nenums, i;
@@ -973,5 +973,5 @@
 /* default functions for stringeans */
 
-int owl_variable_string_validate_default(struct _owl_variable *v, const void *newval) {
+int owl_variable_string_validate_default(const struct _owl_variable *v, const void *newval) {
   if (newval == NULL) return(0);
   else return (1);
@@ -991,5 +991,5 @@
 }
 
-int owl_variable_string_get_tostring_default(owl_variable *v, char* buf, int bufsize, const void *val) {
+int owl_variable_string_get_tostring_default(const owl_variable *v, char* buf, int bufsize, const void *val) {
   if (val == NULL) {
     snprintf(buf, bufsize, "<null>");
