Imported Upstream version 2.6.1
[debian/amanda] / perl / Amanda / Config.c
index dfd13c548ef461d44a6f5d6c370a116746227e0a..d32954d21e12181a82d515814463bbeeac878bba 100644 (file)
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------------
  * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.33
+ * Version 1.3.35
  * 
  * This file is not intended to be easily readable and contains a number of 
  * coding conventions designed to improve portability and efficiency. Do not make
 
 /* This should only be incremented when either the layout of swig_type_info changes,
    or for whatever reason, the runtime changes incompatibly */
-#define SWIG_RUNTIME_VERSION "3"
+#define SWIG_RUNTIME_VERSION "4"
 
 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
 #ifdef SWIG_TYPE_TABLE
 
 /* Flags for pointer conversions */
 #define SWIG_POINTER_DISOWN        0x1
+#define SWIG_CAST_NEW_MEMORY       0x2
 
 /* Flags for new pointer objects */
 #define SWIG_POINTER_OWN           0x1
@@ -297,10 +298,10 @@ SWIGINTERNINLINE int SWIG_CheckState(int r) {
 extern "C" {
 #endif
 
-typedef void *(*swig_converter_func)(void *);
+typedef void *(*swig_converter_func)(void *, int *);
 typedef struct swig_type_info *(*swig_dycast_func)(void **);
 
-/* Structure to store inforomation on one type */
+/* Structure to store information on one type */
 typedef struct swig_type_info {
   const char             *name;                        /* mangled name of this type */
   const char             *str;                 /* human readable name of this type */
@@ -427,8 +428,8 @@ SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
   Cast a pointer up an inheritance hierarchy
 */
 SWIGRUNTIMEINLINE void *
-SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
-  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
 }
 
 /* 
@@ -1061,7 +1062,7 @@ SWIG_Perl_TypeProxyName(const swig_type_info *type) {
 
 SWIGRUNTIME swig_cast_info *
 SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
-  SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0)) 
+  SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) 
                            || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty);
 }
 
@@ -1119,7 +1120,11 @@ SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *
     if (!tc) {
       return SWIG_ERROR;
     }
-    *ptr = SWIG_TypeCast(tc,voidptr);
+    {
+      int newmemory = 0;
+      *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
+      assert(!newmemory); /* newmemory handling not yet implemented */
+    }
   } else {
     *ptr = voidptr;
   }
@@ -1294,7 +1299,7 @@ SWIG_Perl_GetModule(void) {
 
   /* first check if pointer already created */
   if (!type_pointer) {
-    pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
+    pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
     if (pointer && SvOK(pointer)) {
       type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
     }
@@ -1308,7 +1313,7 @@ SWIG_Perl_SetModule(swig_module_info *module) {
   SV *pointer;
 
   /* create a new pointer */
-  pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
+  pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
   sv_setiv(pointer, PTR2IV(module));
 }
 
@@ -1423,19 +1428,24 @@ SWIG_Perl_SetModule(swig_module_info *module) {
 
 /* -------- TYPES TABLE (BEGIN) -------- */
 
-#define SWIGTYPE_p_char swig_types[0]
-#define SWIGTYPE_p_config_overwrites_t swig_types[1]
-#define SWIGTYPE_p_double swig_types[2]
-#define SWIGTYPE_p_dumptype_t swig_types[3]
-#define SWIGTYPE_p_float swig_types[4]
-#define SWIGTYPE_p_holdingdisk_t swig_types[5]
-#define SWIGTYPE_p_int swig_types[6]
-#define SWIGTYPE_p_interface_t swig_types[7]
-#define SWIGTYPE_p_p_char swig_types[8]
-#define SWIGTYPE_p_tapetype_t swig_types[9]
-#define SWIGTYPE_p_unsigned_char swig_types[10]
-static swig_type_info *swig_types[12];
-static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
+#define SWIGTYPE_p_application_t swig_types[0]
+#define SWIGTYPE_p_changer_config_t swig_types[1]
+#define SWIGTYPE_p_char swig_types[2]
+#define SWIGTYPE_p_config_overwrites_t swig_types[3]
+#define SWIGTYPE_p_device_config_t swig_types[4]
+#define SWIGTYPE_p_double swig_types[5]
+#define SWIGTYPE_p_dumptype_t swig_types[6]
+#define SWIGTYPE_p_float swig_types[7]
+#define SWIGTYPE_p_holdingdisk_t swig_types[8]
+#define SWIGTYPE_p_int swig_types[9]
+#define SWIGTYPE_p_interface_t swig_types[10]
+#define SWIGTYPE_p_p_GSList swig_types[11]
+#define SWIGTYPE_p_p_char swig_types[12]
+#define SWIGTYPE_p_pp_script_t swig_types[13]
+#define SWIGTYPE_p_tapetype_t swig_types[14]
+#define SWIGTYPE_p_unsigned_char swig_types[15]
+static swig_type_info *swig_types[17];
+static swig_module_info swig_module = {swig_types, 16, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -1446,7 +1456,7 @@ static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
 #define SWIG_name   "Amanda::Configc::boot_Amanda__Config"
 #define SWIG_prefix "Amanda::Configc::"
 
-#define SWIGVERSION 0x010333 
+#define SWIGVERSION 0x010335 
 #define SWIG_VERSION SWIGVERSION
 
 
@@ -1675,6 +1685,14 @@ SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
 
 
 
+typedef char **val_t_strs;
+val_t_strs getconf_byname_strs(char *key, int str_needs_quotes) {
+    val_t *val = getconf_byname(key);
+    if (!val) return NULL;
+    return val_t_display_strs(val, str_needs_quotes);
+}
+
+
 SWIGINTERNINLINE SV *
 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
 {
@@ -1694,11 +1712,6 @@ SWIG_FromCharPtr(const char *cptr)
   return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
 }
 
-
-    char *get_config_name(void) { return config_name; }
-    char *get_config_dir(void) { return config_dir; }
-    char *get_config_filename(void) { return config_filename; }
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -2105,123 +2118,131 @@ XS(_wrap_getconf) {
     }
     result = (val_t *)getconf(arg1);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
-          argvi++;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
           break;
-          break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
-          
-          /* first set up each of the hash values */
-          
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
           
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
           
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
           argvi++;
           break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     
@@ -2290,123 +2311,131 @@ XS(_wrap_getconf_byname) {
     arg1 = (char *)(buf1);
     result = (val_t *)getconf_byname(arg1);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
-          argvi++;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
           break;
-          break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
-          
-          /* first set up each of the hash values */
-          
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
           
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
           
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
           argvi++;
           break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
@@ -2457,6 +2486,60 @@ XS(_wrap_getconf_list) {
 }
 
 
+XS(_wrap_getconf_byname_strs) {
+  {
+    char *arg1 = (char *) 0 ;
+    int arg2 ;
+    val_t_strs result;
+    int res1 ;
+    char *buf1 = 0 ;
+    int alloc1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: getconf_byname_strs(key,str_needs_quotes);");
+    }
+    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "getconf_byname_strs" "', argument " "1"" of type '" "char *""'");
+    }
+    arg1 = (char *)(buf1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (val_t_strs)getconf_byname_strs(arg1,arg2);
+    {
+      char **it = result;
+      
+      while (it && *it) {
+        ST(argvi) = sv_2mortal(newSVpv(*it, 0));
+        argvi++;
+        it++;
+      }
+      g_strfreev(result);
+    }
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    
+    XSRETURN(argvi);
+  fail:
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    
+    SWIG_croak_null();
+  }
+}
+
+
 XS(_wrap_lookup_tapetype) {
   {
     char *arg1 = (char *) 0 ;
@@ -2519,123 +2602,131 @@ XS(_wrap_tapetype_getconf) {
     }
     result = (val_t *)tapetype_getconf(arg1,arg2);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
-          argvi++;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
           break;
-          break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
-          
-          /* first set up each of the hash values */
-          
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
           
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
           
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
           argvi++;
           break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     
@@ -2786,123 +2877,131 @@ XS(_wrap_dumptype_getconf) {
     }
     result = (val_t *)dumptype_getconf(arg1,arg2);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
-          argvi++;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
           break;
-          break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
-          
-          /* first set up each of the hash values */
           
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
-          
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
           
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
           argvi++;
           break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     
@@ -3053,123 +3152,131 @@ XS(_wrap_interface_getconf) {
     }
     result = (val_t *)interface_getconf(arg1,arg2);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+          
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
+          break;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
           argvi++;
           break;
+          
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
           break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
           
-          /* first set up each of the hash values */
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
-          
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
-          
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
-          
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
-          argvi++;
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
           break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     
@@ -3366,123 +3473,131 @@ XS(_wrap_holdingdisk_getconf) {
     }
     result = (val_t *)holdingdisk_getconf(arg1,arg2);
     {
-      switch (result->type) {
-        case CONFTYPE_RATE: {
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[0]);
-          argvi++;
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
           
-          ST(argvi)= sv_newmortal();
-          sv_setnv(ST(argvi), val_t__rate(result)[1]);
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
           argvi++;
           break;
-        }
-        
-        case CONFTYPE_INTRANGE: {
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[0]);
-          argvi++;
           
-          ST(argvi)= sv_newmortal();
-          sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
           argvi++;
           break;
-          break;
-        }
-        
-        case CONFTYPE_EXINCLUDE: {
-          /* exincludes are represented in perl as {
-                    *  'list' : [ 'list1', 'list2', ..],
-                    *  'file' : [ 'file1', 'file2', ..],
-                    *  'optional' : 1,
-                    * }
-                    */
-          exinclude_t *ei = &val_t__exinclude(result);
-          AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
-          AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
-          SV *optional = sv_newmortal();
-          HV *hv;
-          sle_t *iter;
-          
-          /* first set up each of the hash values */
-          
-          if (ei->sl_list) {
-            for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
-              av_push(list_entries, newSVpv(iter->name, 0));
-            }
-          }
           
-          if(ei->sl_file) {
-            for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
-              av_push(file_entries, newSVpv(iter->name, 0));
-            }
-          }
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
           
-          sv_setiv(optional, ei->optional);
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
           
-          /* now build the hash */
-          hv = (HV *)sv_2mortal((SV *)newHV());
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
           
-          hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
-          hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
-          hv_store(hv, "optional", 8, optional, 0);
-          SvREFCNT_inc(optional);
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
           
-          ST(argvi) = sv_2mortal(newRV((SV *)hv));
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
           argvi++;
           break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
         }
-        
-      case CONFTYPE_PROPLIST:
-        ST(argvi) = sv_2mortal(g_hash_table_to_hashref(val_t__proplist(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_SIZE:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_AM64:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__am64(result)));
-        argvi++;
-        break;
-        
-        case CONFTYPE_BOOLEAN:     /* all same as INT.. */
-      case CONFTYPE_COMPRESS:
-      case CONFTYPE_ENCRYPT:
-      case CONFTYPE_ESTIMATE:
-      case CONFTYPE_STRATEGY:
-      case CONFTYPE_TAPERALGO:
-      case CONFTYPE_PRIORITY:
-      case CONFTYPE_HOLDING:
-      case CONFTYPE_INT:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_TIME:
-        ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
-        argvi++;
-        break;
-        
-      case CONFTYPE_REAL:
-        ST(argvi) = sv_newmortal();
-        sv_setnv(ST(argvi), val_t__real(result));
-        argvi++;
-        break;
-        
-        case CONFTYPE_IDENT:       /* same as STRING */
-      case CONFTYPE_STR:
-        ST(argvi) = sv_newmortal();
-        sv_setpv(ST(argvi), val_t__str(result));
-        argvi++;
-        break;
-        
-        /* No match yet -> not one of the "complex" types */
-      default:
-        SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
-        break;
       }
     }
     
@@ -3571,22 +3686,1347 @@ XS(_wrap_holdingdisk_seen) {
 }
 
 
-XS(_wrap_getconf_unit_divisor) {
+XS(_wrap_lookup_application) {
   {
-    long result;
+    char *arg1 = (char *) 0 ;
+    application_t *result = 0 ;
+    int res1 ;
+    char *buf1 = 0 ;
+    int alloc1 = 0 ;
     int argvi = 0;
     dXSARGS;
     
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: getconf_unit_divisor();");
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: lookup_application(identifier);");
+    }
+    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_application" "', argument " "1"" of type '" "char *""'");
+    }
+    arg1 = (char *)(buf1);
+    result = (application_t *)lookup_application(arg1);
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_application_t, 0 | 0); argvi++ ;
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    XSRETURN(argvi);
+  fail:
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_application_getconf) {
+  {
+    application_t *arg1 = (application_t *) 0 ;
+    application_key arg2 ;
+    val_t *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: application_getconf(app,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_application_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "application_getconf" "', argument " "1"" of type '" "application_t *""'"); 
+    }
+    arg1 = (application_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (val_t *)application_getconf(arg1,arg2);
+    {
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
+          
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
+          
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
+          argvi++;
+          break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
+        }
+      }
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_application_name) {
+  {
+    application_t *arg1 = (application_t *) 0 ;
+    char *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: application_name(app);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_application_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "application_name" "', argument " "1"" of type '" "application_t *""'"); 
+    }
+    arg1 = (application_t *)(argp1);
+    result = (char *)application_name(arg1);
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_application_seen) {
+  {
+    application_t *arg1 = (application_t *) 0 ;
+    application_key arg2 ;
+    gboolean result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: application_seen(app,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_application_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "application_seen" "', argument " "1"" of type '" "application_t *""'"); 
+    }
+    arg1 = (application_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (gboolean)application_seen(arg1,arg2);
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_lookup_pp_script) {
+  {
+    char *arg1 = (char *) 0 ;
+    pp_script_t *result = 0 ;
+    int res1 ;
+    char *buf1 = 0 ;
+    int alloc1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: lookup_pp_script(identifier);");
+    }
+    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_pp_script" "', argument " "1"" of type '" "char *""'");
+    }
+    arg1 = (char *)(buf1);
+    result = (pp_script_t *)lookup_pp_script(arg1);
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_pp_script_t, 0 | 0); argvi++ ;
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    XSRETURN(argvi);
+  fail:
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_pp_script_getconf) {
+  {
+    pp_script_t *arg1 = (pp_script_t *) 0 ;
+    pp_script_key arg2 ;
+    val_t *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: pp_script_getconf(pps,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_pp_script_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pp_script_getconf" "', argument " "1"" of type '" "pp_script_t *""'"); 
+    }
+    arg1 = (pp_script_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (val_t *)pp_script_getconf(arg1,arg2);
+    {
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
+          
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
+          
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
+          argvi++;
+          break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
+        }
+      }
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_pp_script_name) {
+  {
+    pp_script_t *arg1 = (pp_script_t *) 0 ;
+    char *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: pp_script_name(pps);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_pp_script_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pp_script_name" "', argument " "1"" of type '" "pp_script_t *""'"); 
+    }
+    arg1 = (pp_script_t *)(argp1);
+    result = (char *)pp_script_name(arg1);
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_pp_script_seen) {
+  {
+    pp_script_t *arg1 = (pp_script_t *) 0 ;
+    pp_script_key arg2 ;
+    gboolean result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: pp_script_seen(app,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_pp_script_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pp_script_seen" "', argument " "1"" of type '" "pp_script_t *""'"); 
+    }
+    arg1 = (pp_script_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (gboolean)pp_script_seen(arg1,arg2);
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_lookup_device_config) {
+  {
+    char *arg1 = (char *) 0 ;
+    device_config_t *result = 0 ;
+    int res1 ;
+    char *buf1 = 0 ;
+    int alloc1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: lookup_device_config(identifier);");
+    }
+    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_device_config" "', argument " "1"" of type '" "char *""'");
+    }
+    arg1 = (char *)(buf1);
+    result = (device_config_t *)lookup_device_config(arg1);
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_device_config_t, 0 | 0); argvi++ ;
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    XSRETURN(argvi);
+  fail:
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_device_config_getconf) {
+  {
+    device_config_t *arg1 = (device_config_t *) 0 ;
+    device_config_key arg2 ;
+    val_t *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: device_config_getconf(pps,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_device_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "device_config_getconf" "', argument " "1"" of type '" "device_config_t *""'"); 
+    }
+    arg1 = (device_config_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (val_t *)device_config_getconf(arg1,arg2);
+    {
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
+          
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
+          
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
+          argvi++;
+          break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
+        }
+      }
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_device_config_name) {
+  {
+    device_config_t *arg1 = (device_config_t *) 0 ;
+    char *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: device_config_name(pps);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_device_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "device_config_name" "', argument " "1"" of type '" "device_config_t *""'"); 
+    }
+    arg1 = (device_config_t *)(argp1);
+    result = (char *)device_config_name(arg1);
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_device_config_seen) {
+  {
+    device_config_t *arg1 = (device_config_t *) 0 ;
+    device_config_key arg2 ;
+    gboolean result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: device_config_seen(app,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_device_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "device_config_seen" "', argument " "1"" of type '" "device_config_t *""'"); 
+    }
+    arg1 = (device_config_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (gboolean)device_config_seen(arg1,arg2);
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_lookup_changer_config) {
+  {
+    char *arg1 = (char *) 0 ;
+    changer_config_t *result = 0 ;
+    int res1 ;
+    char *buf1 = 0 ;
+    int alloc1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: lookup_changer_config(identifier);");
+    }
+    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_changer_config" "', argument " "1"" of type '" "char *""'");
+    }
+    arg1 = (char *)(buf1);
+    result = (changer_config_t *)lookup_changer_config(arg1);
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_changer_config_t, 0 | 0); argvi++ ;
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    XSRETURN(argvi);
+  fail:
+    if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_changer_config_getconf) {
+  {
+    changer_config_t *arg1 = (changer_config_t *) 0 ;
+    changer_config_key arg2 ;
+    val_t *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: changer_config_getconf(pps,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_changer_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changer_config_getconf" "', argument " "1"" of type '" "changer_config_t *""'"); 
+    }
+    arg1 = (changer_config_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (val_t *)changer_config_getconf(arg1,arg2);
+    {
+      if (!result) {
+        ST(argvi) = &PL_sv_undef;
+        argvi++;
+      } else {
+        switch (result->type) {
+          case CONFTYPE_RATE: {
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setnv(ST(argvi), val_t__rate(result)[1]);
+            argvi++;
+            break;
+          }
+          
+          case CONFTYPE_INTRANGE: {
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[0]);
+            argvi++;
+            
+            ST(argvi)= sv_newmortal();
+            sv_setiv(ST(argvi), val_t__intrange(result)[1]);
+            argvi++;
+            break;
+            break;
+          }
+          
+          case CONFTYPE_EXINCLUDE: {
+            /* exincludes are represented in perl as {
+                        *      'list' : [ 'list1', 'list2', ..],
+                        *      'file' : [ 'file1', 'file2', ..],
+                        *      'optional' : 1,
+                        * }
+                        */
+            exinclude_t *ei = &val_t__exinclude(result);
+            AV *list_entries = (AV *)sv_2mortal((SV *)newAV());
+            AV *file_entries = (AV *)sv_2mortal((SV *)newAV());
+            SV *optional = sv_newmortal();
+            HV *hv;
+            sle_t *iter;
+            
+            /* first set up each of the hash values */
+            
+            if (ei->sl_list) {
+              for (iter = ei->sl_list->first; iter != NULL; iter = iter->next) {
+                av_push(list_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            if(ei->sl_file) {
+              for (iter = ei->sl_file->first; iter != NULL; iter = iter->next) {
+                av_push(file_entries, newSVpv(iter->name, 0));
+              }
+            }
+            
+            sv_setiv(optional, ei->optional);
+            
+            /* now build the hash */
+            hv = (HV *)sv_2mortal((SV *)newHV());
+            
+            hv_store(hv, "file", 4, newRV((SV *)file_entries), 0);
+            hv_store(hv, "list", 4, newRV((SV *)list_entries), 0);
+            hv_store(hv, "optional", 8, optional, 0);
+            SvREFCNT_inc(optional);
+            
+            ST(argvi) = sv_2mortal(newRV((SV *)hv));
+            argvi++;
+            break;
+          }
+          
+        case CONFTYPE_PROPLIST:
+          ST(argvi) = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_SIZE:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_INT64:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
+          argvi++;
+          break;
+          
+          case CONFTYPE_BOOLEAN:           /* all same as INT.. */
+        case CONFTYPE_COMPRESS:
+        case CONFTYPE_ENCRYPT:
+        case CONFTYPE_ESTIMATE:
+        case CONFTYPE_STRATEGY:
+        case CONFTYPE_TAPERALGO:
+        case CONFTYPE_PRIORITY:
+        case CONFTYPE_HOLDING:
+        case CONFTYPE_EXECUTE_ON:
+        case CONFTYPE_EXECUTE_WHERE:
+        case CONFTYPE_SEND_AMREPORT_ON:
+        case CONFTYPE_INT:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_TIME:
+          ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
+          argvi++;
+          break;
+          
+        case CONFTYPE_REAL:
+          ST(argvi) = sv_newmortal();
+          sv_setnv(ST(argvi), val_t__real(result));
+          argvi++;
+          break;
+          
+          case CONFTYPE_IDENT:     /* same as STRING */
+        case CONFTYPE_STR:
+          ST(argvi) = sv_newmortal();
+          sv_setpv(ST(argvi), val_t__str(result));
+          argvi++;
+          break;
+          
+          /* No match yet -> not one of the "complex" types */
+        default:
+          SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+          break;
+        }
+      }
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_changer_config_name) {
+  {
+    changer_config_t *arg1 = (changer_config_t *) 0 ;
+    char *result = 0 ;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: changer_config_name(pps);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_changer_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changer_config_name" "', argument " "1"" of type '" "changer_config_t *""'"); 
+    }
+    arg1 = (changer_config_t *)(argp1);
+    result = (char *)changer_config_name(arg1);
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_changer_config_seen) {
+  {
+    changer_config_t *arg1 = (changer_config_t *) 0 ;
+    changer_config_key arg2 ;
+    gboolean result;
+    void *argp1 = 0 ;
+    int res1 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: changer_config_seen(app,key);");
+    }
+    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_changer_config_t, 0 |  0 );
+    if (!SWIG_IsOK(res1)) {
+      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "changer_config_seen" "', argument " "1"" of type '" "changer_config_t *""'"); 
+    }
+    arg1 = (changer_config_t *)(argp1);
+    {
+      if (sizeof(signed int) == 1) {
+        arg2 = amglue_SvI8(ST(1));
+      } else if (sizeof(signed int) == 2) {
+        arg2 = amglue_SvI16(ST(1));
+      } else if (sizeof(signed int) == 4) {
+        arg2 = amglue_SvI32(ST(1));
+      } else if (sizeof(signed int) == 8) {
+        arg2 = amglue_SvI64(ST(1));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (gboolean)changer_config_seen(arg1,arg2);
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    
+    
+    XSRETURN(argvi);
+  fail:
+    
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_getconf_unit_divisor) {
+  {
+    long result;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: getconf_unit_divisor();");
+    }
+    result = (long)getconf_unit_divisor();
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_config_init) {
+  {
+    config_init_flags arg1 ;
+    char *arg2 = (char *) 0 ;
+    gboolean result;
+    int res2 ;
+    char *buf2 = 0 ;
+    int alloc2 = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 2) || (items > 2)) {
+      SWIG_croak("Usage: config_init(flags,arg_config_name);");
+    }
+    {
+      if (sizeof(signed int) == 1) {
+        arg1 = amglue_SvI8(ST(0));
+      } else if (sizeof(signed int) == 2) {
+        arg1 = amglue_SvI16(ST(0));
+      } else if (sizeof(signed int) == 4) {
+        arg1 = amglue_SvI32(ST(0));
+      } else if (sizeof(signed int) == 8) {
+        arg1 = amglue_SvI64(ST(0));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
+    if (!SWIG_IsOK(res2)) {
+      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "config_init" "', argument " "2"" of type '" "char *""'");
+    }
+    arg2 = (char *)(buf2);
+    result = (gboolean)config_init(arg1,arg2);
+    {
+      ST(argvi) = sv_2mortal(amglue_newSVi64(result));
+      argvi++;
+    }
+    
+    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
+    XSRETURN(argvi);
+  fail:
+    
+    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_config_uninit) {
+  {
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: config_uninit();");
+    }
+    config_uninit();
+    
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_get_config_options) {
+  {
+    int arg1 ;
+    char **result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 1) || (items > 1)) {
+      SWIG_croak("Usage: get_config_options(first);");
+    }
+    {
+      if (sizeof(signed int) == 1) {
+        arg1 = amglue_SvI8(ST(0));
+      } else if (sizeof(signed int) == 2) {
+        arg1 = amglue_SvI16(ST(0));
+      } else if (sizeof(signed int) == 4) {
+        arg1 = amglue_SvI32(ST(0));
+      } else if (sizeof(signed int) == 8) {
+        arg1 = amglue_SvI64(ST(0));
+      } else {
+        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
+      }
+    }
+    result = (char **)get_config_options(arg1);
+    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_char, 0 | 0); argvi++ ;
+    
+    XSRETURN(argvi);
+  fail:
+    
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_get_config_name) {
+  {
+    char *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: get_config_name();");
+    }
+    result = (char *)get_config_name();
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_get_config_dir) {
+  {
+    char *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: get_config_dir();");
+    }
+    result = (char *)get_config_dir();
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_get_config_filename) {
+  {
+    char *result = 0 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: get_config_filename();");
+    }
+    result = (char *)get_config_filename();
+    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_config_print_errors) {
+  {
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: config_print_errors();");
+    }
+    config_print_errors();
+    
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_config_clear_errors) {
+  {
+    int argvi = 0;
+    dXSARGS;
+    
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: config_clear_errors();");
+    }
+    config_clear_errors();
+    
+    XSRETURN(argvi);
+  fail:
+    SWIG_croak_null();
+  }
+}
+
+
+XS(_wrap_config_errors) {
+  {
+    GSList **arg1 = (GSList **) 0 ;
+    cfgerr_level_t result;
+    GSList *templist1 ;
+    int argvi = 0;
+    dXSARGS;
+    
+    {
+      templist1 = NULL;
+      arg1 = &templist1;
+    }
+    if ((items < 0) || (items > 0)) {
+      SWIG_croak("Usage: config_errors();");
     }
-    result = (long)getconf_unit_divisor();
+    result = (cfgerr_level_t)config_errors(arg1);
     {
       ST(argvi) = sv_2mortal(amglue_newSVi64(result));
       argvi++;
     }
+    {
+      GSList *it = *arg1;
+      
+      while (it) {
+        ST(argvi) = sv_2mortal(newSVpv(it->data, 0));
+        argvi++;
+        it = it->next;
+      }
+    }
+    
     XSRETURN(argvi);
   fail:
+    
     SWIG_croak_null();
   }
 }
@@ -3743,6 +5183,7 @@ XS(_wrap_add_config_overwrite_opt) {
 XS(_wrap_apply_config_overwrites) {
   {
     config_overwrites_t *arg1 = (config_overwrites_t *) 0 ;
+    cfgerr_level_t result;
     void *argp1 = 0 ;
     int res1 = 0 ;
     int argvi = 0;
@@ -3756,165 +5197,15 @@ XS(_wrap_apply_config_overwrites) {
       SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "apply_config_overwrites" "', argument " "1"" of type '" "config_overwrites_t *""'"); 
     }
     arg1 = (config_overwrites_t *)(argp1);
-    apply_config_overwrites(arg1);
-    
-    
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_config_init) {
-  {
-    config_init_flags arg1 ;
-    char *arg2 = (char *) 0 ;
-    gboolean result;
-    int res2 ;
-    char *buf2 = 0 ;
-    int alloc2 = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 2) || (items > 2)) {
-      SWIG_croak("Usage: config_init(flags,arg_config_name);");
-    }
-    {
-      if (sizeof(signed int) == 1) {
-        arg1 = amglue_SvI8(ST(0));
-      } else if (sizeof(signed int) == 2) {
-        arg1 = amglue_SvI16(ST(0));
-      } else if (sizeof(signed int) == 4) {
-        arg1 = amglue_SvI32(ST(0));
-      } else if (sizeof(signed int) == 8) {
-        arg1 = amglue_SvI64(ST(0));
-      } else {
-        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
-      }
-    }
-    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
-    if (!SWIG_IsOK(res2)) {
-      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "config_init" "', argument " "2"" of type '" "char *""'");
-    }
-    arg2 = (char *)(buf2);
-    result = (gboolean)config_init(arg1,arg2);
+    result = (cfgerr_level_t)apply_config_overwrites(arg1);
     {
       ST(argvi) = sv_2mortal(amglue_newSVi64(result));
       argvi++;
     }
     
-    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
-    XSRETURN(argvi);
-  fail:
-    
-    if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_config_uninit) {
-  {
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: config_uninit();");
-    }
-    config_uninit();
-    
-    XSRETURN(argvi);
-  fail:
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_get_config_options) {
-  {
-    int arg1 ;
-    char **result = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 1) || (items > 1)) {
-      SWIG_croak("Usage: get_config_options(first);");
-    }
-    {
-      if (sizeof(signed int) == 1) {
-        arg1 = amglue_SvI8(ST(0));
-      } else if (sizeof(signed int) == 2) {
-        arg1 = amglue_SvI16(ST(0));
-      } else if (sizeof(signed int) == 4) {
-        arg1 = amglue_SvI32(ST(0));
-      } else if (sizeof(signed int) == 8) {
-        arg1 = amglue_SvI64(ST(0));
-      } else {
-        g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
-      }
-    }
-    result = (char **)get_config_options(arg1);
-    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_char, 0 | 0); argvi++ ;
-    
-    XSRETURN(argvi);
-  fail:
-    
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_get_config_name) {
-  {
-    char *result = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: get_config_name();");
-    }
-    result = (char *)get_config_name();
-    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
-    XSRETURN(argvi);
-  fail:
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_get_config_dir) {
-  {
-    char *result = 0 ;
-    int argvi = 0;
-    dXSARGS;
-    
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: get_config_dir();");
-    }
-    result = (char *)get_config_dir();
-    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
     XSRETURN(argvi);
   fail:
-    SWIG_croak_null();
-  }
-}
-
-
-XS(_wrap_get_config_filename) {
-  {
-    char *result = 0 ;
-    int argvi = 0;
-    dXSARGS;
     
-    if ((items < 0) || (items > 0)) {
-      SWIG_croak("Usage: get_config_filename();");
-    }
-    result = (char *)get_config_filename();
-    ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
-    XSRETURN(argvi);
-  fail:
     SWIG_croak_null();
   }
 }
@@ -3958,6 +5249,7 @@ XS(_wrap_config_dir_relative) {
     result = (char *)config_dir_relative(arg1);
     ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+    free((char*)result);
     XSRETURN(argvi);
   fail:
     if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
@@ -4035,54 +5327,74 @@ XS(_wrap_find_multiplier) {
 
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
 
+static swig_type_info _swigt__p_application_t = {"_p_application_t", "application_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_changer_config_t = {"_p_changer_config_t", "changer_config_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_char = {"_p_char", "gchar *|char *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_config_overwrites_t = {"_p_config_overwrites_t", "config_overwrites_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_device_config_t = {"_p_device_config_t", "device_config_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_double = {"_p_double", "double *|gdouble *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_dumptype_t = {"_p_dumptype_t", "dumptype_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_float = {"_p_float", "float *|gfloat *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_holdingdisk_t = {"_p_holdingdisk_t", "holdingdisk_t *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_int = {"_p_int", "strategy_t *|int *|comp_t *|dump_holdingdisk_t *|holdingdisk_key *|interface_key *|confparm_key *|dumptype_key *|tapetype_key *|encrypt_t *|taperalgo_t *|gboolean *|estimate_t *|config_init_flags *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "application_key *|strategy_t *|pp_script_key *|int *|comp_t *|dump_holdingdisk_t *|holdingdisk_key *|device_config_key *|changer_config_key *|confparm_key *|interface_key *|dumptype_key *|tapetype_key *|cfgerr_level_t *|encrypt_t *|taperalgo_t *|gboolean *|execute_on_t *|send_amreport_on_t *|estimate_t *|config_init_flags *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_interface_t = {"_p_interface_t", "interface_t *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_p_GSList = {"_p_p_GSList", "GSList **", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_pp_script_t = {"_p_pp_script_t", "pp_script_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_tapetype_t = {"_p_tapetype_t", "tapetype_t *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "guchar *|unsigned char *", 0, 0, (void*)0, 0};
 
 static swig_type_info *swig_type_initial[] = {
+  &_swigt__p_application_t,
+  &_swigt__p_changer_config_t,
   &_swigt__p_char,
   &_swigt__p_config_overwrites_t,
+  &_swigt__p_device_config_t,
   &_swigt__p_double,
   &_swigt__p_dumptype_t,
   &_swigt__p_float,
   &_swigt__p_holdingdisk_t,
   &_swigt__p_int,
   &_swigt__p_interface_t,
+  &_swigt__p_p_GSList,
   &_swigt__p_p_char,
+  &_swigt__p_pp_script_t,
   &_swigt__p_tapetype_t,
   &_swigt__p_unsigned_char,
 };
 
+static swig_cast_info _swigc__p_application_t[] = {  {&_swigt__p_application_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_changer_config_t[] = {  {&_swigt__p_changer_config_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_config_overwrites_t[] = {  {&_swigt__p_config_overwrites_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_device_config_t[] = {  {&_swigt__p_device_config_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_double[] = {  {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_dumptype_t[] = {  {&_swigt__p_dumptype_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_float[] = {  {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_holdingdisk_t[] = {  {&_swigt__p_holdingdisk_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_interface_t[] = {  {&_swigt__p_interface_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_p_GSList[] = {  {&_swigt__p_p_GSList, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_pp_script_t[] = {  {&_swigt__p_pp_script_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_tapetype_t[] = {  {&_swigt__p_tapetype_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_unsigned_char[] = {  {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
 
 static swig_cast_info *swig_cast_initial[] = {
+  _swigc__p_application_t,
+  _swigc__p_changer_config_t,
   _swigc__p_char,
   _swigc__p_config_overwrites_t,
+  _swigc__p_device_config_t,
   _swigc__p_double,
   _swigc__p_dumptype_t,
   _swigc__p_float,
   _swigc__p_holdingdisk_t,
   _swigc__p_int,
   _swigc__p_interface_t,
+  _swigc__p_p_GSList,
   _swigc__p_p_char,
+  _swigc__p_pp_script_t,
   _swigc__p_tapetype_t,
   _swigc__p_unsigned_char,
 };
@@ -4120,6 +5432,7 @@ static swig_command_info swig_commands[] = {
 {"Amanda::Configc::getconf_seen", _wrap_getconf_seen},
 {"Amanda::Configc::getconf_byname", _wrap_getconf_byname},
 {"Amanda::Configc::getconf_list", _wrap_getconf_list},
+{"Amanda::Configc::getconf_byname_strs", _wrap_getconf_byname_strs},
 {"Amanda::Configc::lookup_tapetype", _wrap_lookup_tapetype},
 {"Amanda::Configc::tapetype_getconf", _wrap_tapetype_getconf},
 {"Amanda::Configc::tapetype_name", _wrap_tapetype_name},
@@ -4138,18 +5451,37 @@ static swig_command_info swig_commands[] = {
 {"Amanda::Configc::holdingdisk_getconf", _wrap_holdingdisk_getconf},
 {"Amanda::Configc::holdingdisk_name", _wrap_holdingdisk_name},
 {"Amanda::Configc::holdingdisk_seen", _wrap_holdingdisk_seen},
+{"Amanda::Configc::lookup_application", _wrap_lookup_application},
+{"Amanda::Configc::application_getconf", _wrap_application_getconf},
+{"Amanda::Configc::application_name", _wrap_application_name},
+{"Amanda::Configc::application_seen", _wrap_application_seen},
+{"Amanda::Configc::lookup_pp_script", _wrap_lookup_pp_script},
+{"Amanda::Configc::pp_script_getconf", _wrap_pp_script_getconf},
+{"Amanda::Configc::pp_script_name", _wrap_pp_script_name},
+{"Amanda::Configc::pp_script_seen", _wrap_pp_script_seen},
+{"Amanda::Configc::lookup_device_config", _wrap_lookup_device_config},
+{"Amanda::Configc::device_config_getconf", _wrap_device_config_getconf},
+{"Amanda::Configc::device_config_name", _wrap_device_config_name},
+{"Amanda::Configc::device_config_seen", _wrap_device_config_seen},
+{"Amanda::Configc::lookup_changer_config", _wrap_lookup_changer_config},
+{"Amanda::Configc::changer_config_getconf", _wrap_changer_config_getconf},
+{"Amanda::Configc::changer_config_name", _wrap_changer_config_name},
+{"Amanda::Configc::changer_config_seen", _wrap_changer_config_seen},
 {"Amanda::Configc::getconf_unit_divisor", _wrap_getconf_unit_divisor},
-{"Amanda::Configc::new_config_overwrites", _wrap_new_config_overwrites},
-{"Amanda::Configc::free_config_overwrites", _wrap_free_config_overwrites},
-{"Amanda::Configc::add_config_overwrite", _wrap_add_config_overwrite},
-{"Amanda::Configc::add_config_overwrite_opt", _wrap_add_config_overwrite_opt},
-{"Amanda::Configc::apply_config_overwrites", _wrap_apply_config_overwrites},
 {"Amanda::Configc::config_init", _wrap_config_init},
 {"Amanda::Configc::config_uninit", _wrap_config_uninit},
 {"Amanda::Configc::get_config_options", _wrap_get_config_options},
 {"Amanda::Configc::get_config_name", _wrap_get_config_name},
 {"Amanda::Configc::get_config_dir", _wrap_get_config_dir},
 {"Amanda::Configc::get_config_filename", _wrap_get_config_filename},
+{"Amanda::Configc::config_print_errors", _wrap_config_print_errors},
+{"Amanda::Configc::config_clear_errors", _wrap_config_clear_errors},
+{"Amanda::Configc::config_errors", _wrap_config_errors},
+{"Amanda::Configc::new_config_overwrites", _wrap_new_config_overwrites},
+{"Amanda::Configc::free_config_overwrites", _wrap_free_config_overwrites},
+{"Amanda::Configc::add_config_overwrite", _wrap_add_config_overwrite},
+{"Amanda::Configc::add_config_overwrite_opt", _wrap_add_config_overwrite_opt},
+{"Amanda::Configc::apply_config_overwrites", _wrap_apply_config_overwrites},
 {"Amanda::Configc::dump_configuration", _wrap_dump_configuration},
 {"Amanda::Configc::config_dir_relative", _wrap_config_dir_relative},
 {"Amanda::Configc::taperalgo2str", _wrap_taperalgo2str},
@@ -4213,7 +5545,7 @@ SWIGRUNTIME void
 SWIG_InitializeModule(void *clientdata) {
   size_t i;
   swig_module_info *module_head, *iter;
-  int found;
+  int found, init;
   
   clientdata = clientdata;
   
@@ -4223,6 +5555,9 @@ SWIG_InitializeModule(void *clientdata) {
     swig_module.type_initial = swig_type_initial;
     swig_module.cast_initial = swig_cast_initial;
     swig_module.next = &swig_module;
+    init = 1;
+  } else {
+    init = 0;
   }
   
   /* Try and load any already created modules */
@@ -4251,6 +5586,12 @@ SWIG_InitializeModule(void *clientdata) {
     module_head->next = &swig_module;
   }
   
+  /* When multiple interpeters are used, a module could have already been initialized in
+       a different interpreter, but not yet have a pointer in this interpreter.
+       In this case, we do not want to continue adding types... everything should be
+       set up already */
+  if (init == 0) return;
+  
   /* Now work on filling in swig_module.types */
 #ifdef SWIGRUNTIME_DEBUG
   printf("SWIG_InitializeModule: size %d\n", swig_module.size);
@@ -4404,7 +5745,7 @@ XS(SWIG_init) {
   /* Install variables */
   for (i = 0; swig_variables[i].name; i++) {
     SV *sv;
-    sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2);
+    sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
     if (swig_variables[i].type) {
       SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
     } else {
@@ -4416,7 +5757,7 @@ XS(SWIG_init) {
   /* Install constant */
   for (i = 0; swig_constants[i].type; i++) {
     SV *sv;
-    sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2);
+    sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
     switch(swig_constants[i].type) {
     case SWIG_INT:
       sv_setiv(sv, (IV) swig_constants[i].lvalue);
@@ -4439,841 +5780,1036 @@ XS(SWIG_init) {
     SvREADONLY_on(sv);
   }
   
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_ORG", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_ORG", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_ORG)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CONF", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CONF", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CONF)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_INDEX_SERVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_INDEX_SERVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_INDEX_SERVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPE_SERVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPE_SERVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPE_SERVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AUTH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AUTH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AUTH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_SSH_KEYS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_SSH_KEYS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_SSH_KEYS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMANDAD_PATH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMANDAD_PATH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AMANDAD_PATH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CLIENT_USERNAME", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CLIENT_USERNAME", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CLIENT_USERNAME)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_GNUTAR_LIST_DIR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_GNUTAR_LIST_DIR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_GNUTAR_LIST_DIR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMANDATES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMANDATES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AMANDATES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAILTO", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAILER", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_MAILER)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAILTO", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_MAILTO)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPUSER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPUSER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DUMPUSER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPEDEV", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPEDEV", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPEDEV)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEVICE_PROPERTY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEVICE_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEVICE_PROPERTY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CHANGERDEV", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_PROPERTY)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CHANGERDEV", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CHANGERDEV)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CHANGERFILE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CHANGERFILE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CHANGERFILE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_LABELSTR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_LABELSTR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_LABELSTR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPELIST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPELIST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPELIST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DISKFILE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DISKFILE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DISKFILE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_INFOFILE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_INFOFILE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_INFOFILE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_LOGDIR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_LOGDIR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_LOGDIR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_INDEXDIR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_INDEXDIR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_INDEXDIR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPETYPE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPETYPE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPETYPE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPCYCLE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPCYCLE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DUMPCYCLE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_RUNSPERCYCLE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_RUNSPERCYCLE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_RUNSPERCYCLE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPECYCLE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPECYCLE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPECYCLE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_NETUSAGE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_NETUSAGE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_NETUSAGE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_INPARALLEL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_INPARALLEL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_INPARALLEL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPORDER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DUMPORDER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DUMPORDER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPPERCENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPPERCENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_BUMPPERCENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_BUMPSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPMULT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPMULT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_BUMPMULT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPDAYS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_BUMPDAYS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_BUMPDAYS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TPCHANGER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TPCHANGER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TPCHANGER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_RUNTAPES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_RUNTAPES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_RUNTAPES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAXDUMPS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAXDUMPS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_MAXDUMPS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_ETIMEOUT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_ETIMEOUT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_ETIMEOUT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DTIMEOUT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DTIMEOUT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DTIMEOUT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CTIMEOUT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CTIMEOUT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CTIMEOUT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPEBUFS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPEBUFS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPEBUFS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEVICE_OUTPUT_BUFFER_SIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEVICE_OUTPUT_BUFFER_SIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEVICE_OUTPUT_BUFFER_SIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_PRINTER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_PRINTER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_PRINTER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AUTOFLUSH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AUTOFLUSH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AUTOFLUSH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_RESERVE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAXDUMPSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_MAXDUMPSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_MAXDUMPSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_COLUMNSPEC", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_COLUMNSPEC", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_COLUMNSPEC)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_DO_FSF", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_DO_FSF", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AMRECOVER_DO_FSF)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_CHECK_LABEL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_CHECK_LABEL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AMRECOVER_CHECK_LABEL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_CHANGER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_AMRECOVER_CHANGER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_AMRECOVER_CHANGER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPERALGO", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPERALGO", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPERALGO)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_FLUSH_THRESHOLD_DUMPED", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_FLUSH_THRESHOLD_DUMPED", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_FLUSH_THRESHOLD_DUMPED)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_FLUSH_THRESHOLD_SCHEDULED", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_FLUSH_THRESHOLD_SCHEDULED", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_FLUSH_THRESHOLD_SCHEDULED)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPERFLUSH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPERFLUSH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPERFLUSH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DISPLAYUNIT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DISPLAYUNIT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DISPLAYUNIT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_KRB5KEYTAB", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_KRB5KEYTAB", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_KRB5KEYTAB)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_KRB5PRINCIPAL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_KRB5PRINCIPAL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_KRB5PRINCIPAL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_LABEL_NEW_TAPES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_LABEL_NEW_TAPES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_LABEL_NEW_TAPES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_USETIMESTAMPS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_USETIMESTAMPS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_USETIMESTAMPS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_REP_TRIES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_REP_TRIES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_REP_TRIES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_CONNECT_TRIES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_CONNECT_TRIES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_CONNECT_TRIES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_REQ_TRIES", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_REQ_TRIES", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_REQ_TRIES)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMANDAD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMANDAD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_AMANDAD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMIDXTAPED", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMIDXTAPED", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_AMIDXTAPED)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMINDEXD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMINDEXD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_AMINDEXD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMRECOVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AMRECOVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_AMRECOVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AUTH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_AUTH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_AUTH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_EVENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_EVENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_EVENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_HOLDING", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_HOLDING", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_HOLDING)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_PROTOCOL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_PROTOCOL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_PROTOCOL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_PLANNER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_PLANNER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_PLANNER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_DRIVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_DRIVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_DRIVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_DUMPER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_DUMPER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_DUMPER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_CHUNKER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_CHUNKER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_CHUNKER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_TAPER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_TAPER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_TAPER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SELFCHECK", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SELFCHECK", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_SELFCHECK)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SENDSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SENDSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_SENDSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SENDBACKUP", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_DEBUG_SENDBACKUP", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_DEBUG_SENDBACKUP)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVED_UDP_PORT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVED_UDP_PORT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_RESERVED_UDP_PORT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVED_TCP_PORT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_RESERVED_TCP_PORT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_RESERVED_TCP_PORT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CNF_UNRESERVED_TCP_PORT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CNF_UNRESERVED_TCP_PORT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CNF_UNRESERVED_TCP_PORT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_COMMENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_COMMENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_LBL_TEMPL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_LBL_TEMPL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_LBL_TEMPL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_BLOCKSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_BLOCKSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_BLOCKSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_READBLOCKSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_READBLOCKSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_READBLOCKSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_LENGTH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_LENGTH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_LENGTH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_FILEMARK", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_FILEMARK", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_FILEMARK)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_SPEED", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_SPEED", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_SPEED)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_FILE_PAD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_FILE_PAD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_FILE_PAD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMMENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_COMMENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PROGRAM", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PROGRAM", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_PROGRAM)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRVCOMPPROG", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRVCOMPPROG", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SRVCOMPPROG)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNTCOMPPROG", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNTCOMPPROG", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_CLNTCOMPPROG)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRV_ENCRYPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRV_ENCRYPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SRV_ENCRYPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNT_ENCRYPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNT_ENCRYPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_CLNT_ENCRYPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_AMANDAD_PATH", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_AMANDAD_PATH", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_AMANDAD_PATH)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLIENT_USERNAME", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLIENT_USERNAME", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_CLIENT_USERNAME)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SSH_KEYS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SSH_KEYS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SSH_KEYS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SECURITY_DRIVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SECURITY_DRIVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SECURITY_DRIVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_EXCLUDE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_EXCLUDE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_EXCLUDE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_INCLUDE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_INCLUDE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_INCLUDE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PRIORITY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PRIORITY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_PRIORITY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_DUMPCYCLE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_DUMPCYCLE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_DUMPCYCLE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_MAXDUMPS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_MAXDUMPS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_MAXDUMPS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_MAXPROMOTEDAY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_MAXPROMOTEDAY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_MAXPROMOTEDAY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPPERCENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPPERCENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_BUMPPERCENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_BUMPSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPDAYS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPDAYS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_BUMPDAYS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPMULT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_BUMPMULT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_BUMPMULT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_STARTTIME", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_STARTTIME", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_STARTTIME)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_STRATEGY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_STRATEGY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_STRATEGY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_ESTIMATE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_ESTIMATE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMPRESS", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMPRESS", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_COMPRESS)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_ENCRYPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_ENCRYPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_ENCRYPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRV_DECRYPT_OPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SRV_DECRYPT_OPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SRV_DECRYPT_OPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNT_DECRYPT_OPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_CLNT_DECRYPT_OPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_CLNT_DECRYPT_OPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMPRATE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_COMPRATE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_COMPRATE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_TAPE_SPLITSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_TAPE_SPLITSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_TAPE_SPLITSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_FALLBACK_SPLITSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_FALLBACK_SPLITSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_FALLBACK_SPLITSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SPLIT_DISKBUFFER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SPLIT_DISKBUFFER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SPLIT_DISKBUFFER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_RECORD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_RECORD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_RECORD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SKIP_INCR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SKIP_INCR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SKIP_INCR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SKIP_FULL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_SKIP_FULL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_SKIP_FULL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_HOLDINGDISK", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_HOLDINGDISK", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_HOLDINGDISK)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_KENCRYPT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_KENCRYPT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_KENCRYPT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_IGNORE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_IGNORE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_IGNORE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_INDEX", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_INDEX", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_INDEX)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "INTER_COMMENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_APPLICATION", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_APPLICATION)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PP_SCRIPTLIST", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_PP_SCRIPTLIST)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_PROPERTY)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "INTER_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(INTER_COMMENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "INTER_MAXUSAGE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "INTER_MAXUSAGE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(INTER_MAXUSAGE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_COMMENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLDING_COMMENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_DISKDIR", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_DISKDIR", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLDING_DISKDIR)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_DISKSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_DISKSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLDING_DISKSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_CHUNKSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLDING_CHUNKSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLDING_CHUNKSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLD_NEVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "APPLICATION_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(APPLICATION_COMMENT)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "APPLICATION_PLUGIN", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(APPLICATION_PLUGIN)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "APPLICATION_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(APPLICATION_PROPERTY)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_COMMENT)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_PLUGIN", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_PLUGIN)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_PROPERTY)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_EXECUTE_ON", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_EXECUTE_ON)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_EXECUTE_WHERE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_EXECUTE_WHERE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DEVICE_CONFIG_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DEVICE_CONFIG_COMMENT)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DEVICE_CONFIG_TAPEDEV", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DEVICE_CONFIG_TAPEDEV)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DEVICE_CONFIG_DEVICE_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DEVICE_CONFIG_DEVICE_PROPERTY)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CHANGER_CONFIG_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_COMMENT)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CHANGER_CONFIG_TAPEDEV", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_TAPEDEV)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CHANGER_CONFIG_TPCHANGER", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_TPCHANGER)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CHANGER_CONFIG_CHANGERDEV", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_CHANGERDEV)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CHANGER_CONFIG_CHANGERFILE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_CHANGERFILE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLD_NEVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLD_NEVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLD_AUTO", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLD_AUTO", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLD_AUTO)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "HOLD_REQUIRED", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "HOLD_REQUIRED", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(HOLD_REQUIRED)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_NONE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_NONE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_NONE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_FAST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_FAST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_FAST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_BEST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_BEST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_BEST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_CUST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_CUST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_CUST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_FAST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_FAST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_SERVER_FAST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_BEST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_BEST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_SERVER_BEST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_CUST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "COMP_SERVER_CUST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(COMP_SERVER_CUST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_NONE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_NONE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ENCRYPT_NONE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_CUST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_CUST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ENCRYPT_CUST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_SERV_CUST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ENCRYPT_SERV_CUST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ENCRYPT_SERV_CUST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_SKIP", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_SKIP", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_SKIP)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_STANDARD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_STANDARD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_STANDARD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_NOFULL", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_NOFULL", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_NOFULL)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_NOINC", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_NOINC", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_NOINC)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_4", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_4", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_4)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_5", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_5", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_5)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_HANOI", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_HANOI", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_HANOI)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "DS_INCRONLY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "DS_INCRONLY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(DS_INCRONLY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ES_CLIENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ES_CLIENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ES_CLIENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ES_SERVER", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ES_SERVER", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ES_SERVER)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ES_CALCSIZE", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ES_CALCSIZE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ES_CALCSIZE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_FIRST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_FIRST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_FIRST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_FIRSTFIT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_FIRSTFIT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_FIRSTFIT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LARGEST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LARGEST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_LARGEST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LARGESTFIT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LARGESTFIT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_LARGESTFIT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_SMALLEST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_SMALLEST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_SMALLEST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LAST", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "ALGO_LAST", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(ALGO_LAST)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_EXPLICIT_NAME", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_DLE_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_DLE_AMCHECK)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_HOST_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_HOST_AMCHECK)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_DLE_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_DLE_AMCHECK)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_HOST_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_HOST_AMCHECK)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_DLE_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_DLE_ESTIMATE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_HOST_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_HOST_ESTIMATE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_DLE_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_DLE_ESTIMATE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_HOST_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_HOST_ESTIMATE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_DLE_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_DLE_BACKUP)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_HOST_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_HOST_BACKUP)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_DLE_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_DLE_BACKUP)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_HOST_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_HOST_BACKUP)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "SEND_AMREPORT_ALL", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(SEND_AMREPORT_ALL)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "SEND_AMREPORT_STRANGE", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(SEND_AMREPORT_STRANGE)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "SEND_AMREPORT_ERROR", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(SEND_AMREPORT_ERROR)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "SEND_AMREPORT_NEVER", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(SEND_AMREPORT_NEVER)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CFGERR_OK", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CFGERR_OK)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CFGERR_WARNINGS", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CFGERR_WARNINGS)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CFGERR_ERRORS", TRUE | 0x2 | GV_ADDMULTI);
+    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CFGERR_ERRORS)));
+    SvREADONLY_on(sv);
+  } while(0) /*@SWIG@*/;
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_EXPLICIT_NAME", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CONFIG_INIT_EXPLICIT_NAME)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_USE_CWD", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_USE_CWD", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CONFIG_INIT_USE_CWD)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_CLIENT", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_CLIENT", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CONFIG_INIT_CLIENT)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_OVERLAY", TRUE | 0x2);
+  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_OVERLAY", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CONFIG_INIT_OVERLAY)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.33/perl5/perltypemaps.swg,64,%set_constant@*/ do {
-    SV *sv = get_sv((char*) SWIG_prefix "CONFIG_INIT_FATAL", TRUE | 0x2);
-    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1((int)(CONFIG_INIT_FATAL)));
-    SvREADONLY_on(sv);
-  } while(0) /*@SWIG@*/;
   ST(0) = &PL_sv_yes;
   XSRETURN(1);
 }