* interface file instead.
* ----------------------------------------------------------------------------- */
+#include "../config/config.h"
+
+
#define SWIGPERL
#define SWIG_CASTRANK_MODE
#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 SWIGTYPE_p_interactivity_t swig_types[10]
+#define SWIGTYPE_p_interface_t swig_types[11]
+#define SWIGTYPE_p_p_GSList swig_types[12]
+#define SWIGTYPE_p_p_char swig_types[13]
+#define SWIGTYPE_p_pp_script_t swig_types[14]
+#define SWIGTYPE_p_taperscan_t swig_types[15]
+#define SWIGTYPE_p_tapetype_t swig_types[16]
+#define SWIGTYPE_p_unsigned_char swig_types[17]
+static swig_type_info *swig_types[19];
+static swig_module_info swig_module = {swig_types, 18, 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)
}
+static int
+val_t_to_sv(val_t *val, SV **results) {
+ if (!val) {
+ results[0] = &PL_sv_undef;
+ return 1;
+ } else {
+ switch (val->type) {
+ case CONFTYPE_RATE: {
+ results[0] = sv_newmortal();
+ sv_setnv(results[0], val_t__rate(val)[0]);
+
+ results[1] = sv_newmortal();
+ sv_setnv(results[1], val_t__rate(val)[1]);
+ return 2;
+ }
+
+ case CONFTYPE_INTRANGE: {
+ results[0] = sv_newmortal();
+ sv_setiv(results[0], val_t__intrange(val)[0]);
+
+ results[1] = sv_newmortal();
+ sv_setiv(results[1], val_t__intrange(val)[1]);
+ return 2;
+ }
+
+ case CONFTYPE_EXINCLUDE: {
+ /* exincludes are represented in perl as {
+ * 'list' : [ 'list1', 'list2', ..],
+ * 'file' : [ 'file1', 'file2', ..],
+ * 'optional' : 1,
+ * }
+ */
+ exinclude_t *ei = &val_t__exinclude(val);
+ 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);
+
+ results[0] = sv_2mortal(newRV((SV *)hv));
+ return 1;
+ }
+
+ case CONFTYPE_PROPLIST:
+ results[0] = sv_2mortal(g_hash_table_to_hashref_property(val_t__proplist(val)));
+ return 1;
+
+ case CONFTYPE_SIZE:
+ results[0] = sv_2mortal(amglue_newSVi64(val_t__size(val)));
+ return 1;
+
+ case CONFTYPE_INT64:
+ results[0] = sv_2mortal(amglue_newSVi64(val_t__int64(val)));
+ return 1;
+
+ case CONFTYPE_BOOLEAN: /* all same as INT.. */
+ case CONFTYPE_NO_YES_ALL:
+ case CONFTYPE_COMPRESS:
+ case CONFTYPE_ENCRYPT:
+ 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_DATA_PATH:
+ case CONFTYPE_PART_CACHE_TYPE:
+ case CONFTYPE_INT:
+ results[0] = sv_2mortal(amglue_newSVi64(val_t__int(val)));
+ return 1;
+
+ case CONFTYPE_ESTIMATELIST: {
+ AV *elist = newAV();
+ estimatelist_t el;
+ for (el=val_t__estimatelist(val); el != NULL; el = el->next) {
+ av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
+ }
+ results[0] = sv_2mortal(newRV_noinc((SV *)elist));
+ return 1;
+ }
+
+ case CONFTYPE_TIME:
+ results[0] = sv_2mortal(amglue_newSVi64(val_t__time(val)));
+ return 1;
+
+ case CONFTYPE_REAL:
+ results[0] = sv_newmortal();
+ sv_setnv(results[0], val_t__real(val));
+ return 1;
+
+ case CONFTYPE_IDENT: /* same as STRING */
+ case CONFTYPE_STR:
+ case CONFTYPE_APPLICATION:
+ results[0] = sv_newmortal();
+ sv_setpv(results[0], val_t__str(val));
+ return 1;
+
+ case CONFTYPE_IDENTLIST: {
+ AV *ilist = newAV();
+
+ identlist_t il;
+ for (il=val_t__identlist(val); il != NULL; il = il->next) {
+ av_push(ilist, newSVpv((char *)il->data, 0));
+ }
+
+ results[0] = sv_2mortal(newRV_noinc((SV *)ilist));
+ return 1;
+ }
+
+ case CONFTYPE_HOST_LIMIT: {
+ AV *av;
+ GSList *iter;
+ host_limit_t *rl = &val_t__host_limit(val);
+
+ av = newAV();
+ if (rl->same_host)
+ av_push(av, newSVpv("SAMEHOST-SAMEHOST-SAMEHOST", 0));
+ if (rl->server)
+ av_push(av, newSVpv("SERVER-SERVER-SERVER", 0));
+ for (iter=rl->match_pats; iter != NULL; iter = iter->next) {
+ av_push(av, newSVpv((char *)iter->data, 0));
+ }
+
+ results[0] = sv_2mortal(newRV_noinc((SV *)av));
+ return 1;
+ }
+
+ case CONFTYPE_AUTOLABEL: {
+ autolabel_t *autolabel = &val_t__autolabel(val);
+ HV *hv;
+
+ /* now build the hash */
+ hv = (HV *)sv_2mortal((SV *)newHV());
+ hv_store(hv, "template", 8,
+ (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
+ 0);
+ hv_store(hv, "other_config", 12,
+ (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "non_amanda", 10,
+ (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "volume_error", 12,
+ (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
+ 0);
+ hv_store(hv, "empty", 5,
+ (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
+ 0);
+
+ results[0] = sv_2mortal(newRV((SV *)hv));
+ return 1;
+ }
+
+ /* No match yet -> not one of the "complex" types */
+ default:
+ SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
+ break;
+ }
+ }
+
+ return 0;
+
+fail:
+ SWIG_croak_null();
+}
+
+
SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)
{
}
result = (val_t *)getconf(arg1);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
arg1 = (char *)(buf1);
result = (val_t *)getconf_byname(arg1);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- 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);
}
result = (val_t *)tapetype_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)dumptype_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)interface_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)holdingdisk_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)application_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)pp_script_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)device_config_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
result = (val_t *)changer_config_getconf(arg1,arg2);
{
- if (!result) {
- ST(argvi) = &PL_sv_undef;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
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;
- }
-
- 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:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__size(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_INT64:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int64(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_BOOLEAN: /* all same as INT.. */
- case CONFTYPE_COMPRESS:
- case CONFTYPE_ENCRYPT:
- 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_DATA_PATH:
- case CONFTYPE_INT:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__int(result)));
- SPAGAIN; SP -= argvi; argvi++;
- break;
-
- case CONFTYPE_ESTIMATELIST: {
- AV *elist = newAV();
- estimatelist_t el;
- for (el=val_t__estimatelist(result); el != NULL; el = el->next) {
- av_push(elist, newSVuv(GPOINTER_TO_INT(el->data)));
- }
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)elist));
- argvi++;
- break;
- }
-
- case CONFTYPE_TIME:
- SP += argvi; PUTBACK;
- ST(argvi) = sv_2mortal(amglue_newSVi64(val_t__time(result)));
- SPAGAIN; SP -= argvi; 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:
- case CONFTYPE_APPLICATION:
- ST(argvi) = sv_newmortal();
- sv_setpv(ST(argvi), val_t__str(result));
- argvi++;
- break;
-
- case CONFTYPE_IDENTLIST: {
- AV *ilist = newAV();
-
- identlist_t il;
- for (il=val_t__identlist(result); il != NULL; il = il->next) {
- av_push(ilist, newSVpv((char *)il->data, 0));
- }
-
- ST(argvi) = sv_2mortal(newRV_noinc((SV *)ilist));
- argvi++;
- break;
- }
-
- case CONFTYPE_AUTOLABEL: {
- autolabel_t *autolabel = &val_t__autolabel(result);
- HV *hv;
-
- /* now build the hash */
- hv = (HV *)sv_2mortal((SV *)newHV());
- hv_store(hv, "template", 8,
- (autolabel->template)? newSVpv(autolabel->template, 0) : newSV(0),
- 0);
- hv_store(hv, "other_config", 12,
- (autolabel->autolabel & AL_OTHER_CONFIG)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "non_amanda", 10,
- (autolabel->autolabel & AL_NON_AMANDA)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "volume_error", 12,
- (autolabel->autolabel & AL_VOLUME_ERROR)? &PL_sv_yes : &PL_sv_no,
- 0);
- hv_store(hv, "empty", 5,
- (autolabel->autolabel & AL_EMPTY)? &PL_sv_yes : &PL_sv_no,
- 0);
-
- ST(argvi) = sv_2mortal(newRV((SV *)hv));
- argvi++;
- break;
- }
-
- /* No match yet -> not one of the "complex" types */
- default:
- SWIG_exception(SWIG_TypeError, "Unknown val_t conftype");
- break;
- }
}
}
}
-XS(_wrap_getconf_unit_divisor) {
+XS(_wrap_lookup_interactivity) {
{
+ char *arg1 = (char *) 0 ;
+ int res1 ;
+ char *buf1 = 0 ;
+ int alloc1 = 0 ;
int argvi = 0;
- long result;
+ interactivity_t *result = 0 ;
dXSARGS;
- if ((items < 0) || (items > 0)) {
- SWIG_croak("Usage: getconf_unit_divisor();");
+ if ((items < 1) || (items > 1)) {
+ SWIG_croak("Usage: lookup_interactivity(identifier);");
}
- result = (long)getconf_unit_divisor();
- {
- SV *for_stack;
- SP += argvi; PUTBACK;
- for_stack = sv_2mortal(amglue_newSVi64(result));
- SPAGAIN; SP -= argvi;
- ST(argvi) = for_stack;
- argvi++;
+ res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_interactivity" "', argument " "1"" of type '" "char *""'");
}
+ arg1 = (char *)(buf1);
+ result = (interactivity_t *)lookup_interactivity(arg1);
+ ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_interactivity_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_config_init) {
+XS(_wrap_interactivity_getconf) {
{
- config_init_flags arg1 ;
- char *arg2 = (char *) 0 ;
- int res2 ;
- char *buf2 = 0 ;
- int alloc2 = 0 ;
+ interactivity_t *arg1 = (interactivity_t *) 0 ;
+ interactivity_key arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
int argvi = 0;
- cfgerr_level_t result;
+ val_t *result = 0 ;
dXSARGS;
if ((items < 2) || (items > 2)) {
- SWIG_croak("Usage: config_init(flags,arg_config_name);");
+ SWIG_croak("Usage: interactivity_getconf(app,key);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_interactivity_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "interactivity_getconf" "', argument " "1"" of type '" "interactivity_t *""'");
}
+ arg1 = (interactivity_t *)(argp1);
{
if (sizeof(signed int) == 1) {
- arg1 = amglue_SvI8(ST(0));
+ arg2 = amglue_SvI8(ST(1));
} else if (sizeof(signed int) == 2) {
- arg1 = amglue_SvI16(ST(0));
+ arg2 = amglue_SvI16(ST(1));
} else if (sizeof(signed int) == 4) {
- arg1 = amglue_SvI32(ST(0));
+ arg2 = amglue_SvI32(ST(1));
} else if (sizeof(signed int) == 8) {
- arg1 = amglue_SvI64(ST(0));
+ arg2 = amglue_SvI64(ST(1));
} 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 = (cfgerr_level_t)config_init(arg1,arg2);
+ result = (val_t *)interactivity_getconf(arg1,arg2);
{
- SV *for_stack;
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
SP += argvi; PUTBACK;
- for_stack = sv_2mortal(amglue_newSVi64(result));
+ nresults = val_t_to_sv(result, results);
SPAGAIN; SP -= argvi;
- ST(argvi) = for_stack;
- argvi++;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
+ 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) {
+XS(_wrap_interactivity_name) {
{
+ interactivity_t *arg1 = (interactivity_t *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
int argvi = 0;
+ char *result = 0 ;
dXSARGS;
- if ((items < 0) || (items > 0)) {
- SWIG_croak("Usage: config_uninit();");
+ if ((items < 1) || (items > 1)) {
+ SWIG_croak("Usage: interactivity_name(app);");
}
- config_uninit();
- ST(argvi) = sv_newmortal();
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_interactivity_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "interactivity_name" "', argument " "1"" of type '" "interactivity_t *""'");
+ }
+ arg1 = (interactivity_t *)(argp1);
+ result = (char *)interactivity_name(arg1);
+ ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+
XSRETURN(argvi);
fail:
+
SWIG_croak_null();
}
}
-XS(_wrap_get_config_options) {
+XS(_wrap_interactivity_seen) {
{
- int arg1 ;
+ interactivity_t *arg1 = (interactivity_t *) 0 ;
+ interactivity_key arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
int argvi = 0;
- char **result = 0 ;
+ gboolean result;
dXSARGS;
- if ((items < 1) || (items > 1)) {
- SWIG_croak("Usage: get_config_options(first);");
+ if ((items < 2) || (items > 2)) {
+ SWIG_croak("Usage: interactivity_seen(app,key);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_interactivity_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "interactivity_seen" "', argument " "1"" of type '" "interactivity_t *""'");
}
+ arg1 = (interactivity_t *)(argp1);
{
if (sizeof(signed int) == 1) {
- arg1 = amglue_SvI8(ST(0));
+ arg2 = amglue_SvI8(ST(1));
} else if (sizeof(signed int) == 2) {
- arg1 = amglue_SvI16(ST(0));
+ arg2 = amglue_SvI16(ST(1));
} else if (sizeof(signed int) == 4) {
- arg1 = amglue_SvI32(ST(0));
+ arg2 = amglue_SvI32(ST(1));
} else if (sizeof(signed int) == 8) {
- arg1 = amglue_SvI64(ST(0));
+ arg2 = amglue_SvI64(ST(1));
} 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++ ;
+ result = (gboolean)interactivity_seen(arg1,arg2);
+ {
+ if (result)
+ ST(argvi) = &PL_sv_yes;
+ else
+ ST(argvi) = &PL_sv_no;
+ argvi++;
+ }
+
+
+ XSRETURN(argvi);
+ fail:
+
+
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_lookup_taperscan) {
+ {
+ char *arg1 = (char *) 0 ;
+ int res1 ;
+ char *buf1 = 0 ;
+ int alloc1 = 0 ;
+ int argvi = 0;
+ taperscan_t *result = 0 ;
+ dXSARGS;
+
+ if ((items < 1) || (items > 1)) {
+ SWIG_croak("Usage: lookup_taperscan(identifier);");
+ }
+ res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "lookup_taperscan" "', argument " "1"" of type '" "char *""'");
+ }
+ arg1 = (char *)(buf1);
+ result = (taperscan_t *)lookup_taperscan(arg1);
+ ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_taperscan_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_taperscan_getconf) {
+ {
+ taperscan_t *arg1 = (taperscan_t *) 0 ;
+ taperscan_key arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int argvi = 0;
+ val_t *result = 0 ;
+ dXSARGS;
+
+ if ((items < 2) || (items > 2)) {
+ SWIG_croak("Usage: taperscan_getconf(app,key);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_taperscan_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "taperscan_getconf" "', argument " "1"" of type '" "taperscan_t *""'");
+ }
+ arg1 = (taperscan_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 *)taperscan_getconf(arg1,arg2);
+ {
+ SV *results[3], **iter;
+ int nresults;
+
+ /* save the stack, since val_t_to_sv may invoke arbitrary Perl code */
+ SP += argvi; PUTBACK;
+ nresults = val_t_to_sv(result, results);
+ SPAGAIN; SP -= argvi;
+
+ /* add val_t_to_sv's results to the stack */
+ for (iter = results; nresults; iter++, nresults--) {
+ ST(argvi) = *iter;
+ argvi++;
+ }
+ }
+
+
+ XSRETURN(argvi);
+ fail:
+
+
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_taperscan_name) {
+ {
+ taperscan_t *arg1 = (taperscan_t *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int argvi = 0;
+ char *result = 0 ;
+ dXSARGS;
+
+ if ((items < 1) || (items > 1)) {
+ SWIG_croak("Usage: taperscan_name(app);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_taperscan_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "taperscan_name" "', argument " "1"" of type '" "taperscan_t *""'");
+ }
+ arg1 = (taperscan_t *)(argp1);
+ result = (char *)taperscan_name(arg1);
+ ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+
+ XSRETURN(argvi);
+ fail:
+
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_taperscan_seen) {
+ {
+ taperscan_t *arg1 = (taperscan_t *) 0 ;
+ taperscan_key arg2 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int argvi = 0;
+ gboolean result;
+ dXSARGS;
+
+ if ((items < 2) || (items > 2)) {
+ SWIG_croak("Usage: taperscan_seen(app,key);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_taperscan_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "taperscan_seen" "', argument " "1"" of type '" "taperscan_t *""'");
+ }
+ arg1 = (taperscan_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)taperscan_seen(arg1,arg2);
+ {
+ if (result)
+ ST(argvi) = &PL_sv_yes;
+ else
+ ST(argvi) = &PL_sv_no;
+ argvi++;
+ }
+
+
+ XSRETURN(argvi);
+ fail:
+
+
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_getconf_unit_divisor) {
+ {
+ int argvi = 0;
+ long result;
+ dXSARGS;
+
+ if ((items < 0) || (items > 0)) {
+ SWIG_croak("Usage: getconf_unit_divisor();");
+ }
+ result = (long)getconf_unit_divisor();
+ {
+ SV *for_stack;
+ SP += argvi; PUTBACK;
+ for_stack = sv_2mortal(amglue_newSVi64(result));
+ SPAGAIN; SP -= argvi;
+ ST(argvi) = for_stack;
+ argvi++;
+ }
+ XSRETURN(argvi);
+ fail:
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_config_init) {
+ {
+ config_init_flags arg1 ;
+ char *arg2 = (char *) 0 ;
+ int res2 ;
+ char *buf2 = 0 ;
+ int alloc2 = 0 ;
+ int argvi = 0;
+ cfgerr_level_t result;
+ 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 = (cfgerr_level_t)config_init(arg1,arg2);
+ {
+ SV *for_stack;
+ SP += argvi; PUTBACK;
+ for_stack = sv_2mortal(amglue_newSVi64(result));
+ SPAGAIN; SP -= argvi;
+ ST(argvi) = for_stack;
+ 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();
+ ST(argvi) = sv_newmortal();
+ XSRETURN(argvi);
+ fail:
+ SWIG_croak_null();
+ }
+}
+
+
+XS(_wrap_get_config_options) {
+ {
+ int arg1 ;
+ int argvi = 0;
+ char **result = 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:
}
+XS(_wrap_amandaify_property_name) {
+ {
+ gchar *arg1 = (gchar *) 0 ;
+ int res1 ;
+ char *buf1 = 0 ;
+ int alloc1 = 0 ;
+ int argvi = 0;
+ gchar *result = 0 ;
+ dXSARGS;
+
+ if ((items < 1) || (items > 1)) {
+ SWIG_croak("Usage: amandaify_property_name(name);");
+ }
+ res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "amandaify_property_name" "', argument " "1"" of type '" "gchar const *""'");
+ }
+ arg1 = (gchar *)(buf1);
+ result = (gchar *)amandaify_property_name((char const *)arg1);
+ ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+ XSRETURN(argvi);
+ fail:
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
+ SWIG_croak_null();
+ }
+}
+
+
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
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", "application_key *|strategy_t *|pp_script_key *|int *|autolabel_enum_t *|comp_t *|dump_holdingdisk_t *|device_config_key *|changer_config_key *|confparm_key *|interface_key *|holdingdisk_key *|dumptype_key *|tapetype_key *|cfgerr_level_t *|encrypt_t *|taperalgo_t *|gboolean *|data_path_t *|execute_on_t *|send_amreport_on_t *|estimate_t *|config_init_flags *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "taperscan_key *|application_key *|strategy_t *|pp_script_key *|int *|autolabel_enum_t *|comp_t *|dump_holdingdisk_t *|changer_config_key *|confparm_key *|interface_key *|device_config_key *|holdingdisk_key *|dumptype_key *|tapetype_key *|interactivity_key *|part_cache_type_t *|cfgerr_level_t *|encrypt_t *|taperalgo_t *|gboolean *|data_path_t *|execute_on_t *|send_amreport_on_t *|estimate_t *|config_init_flags *", 0, 0, (void*)0, 0};
+static swig_type_info _swigt__p_interactivity_t = {"_p_interactivity_t", "interactivity_t *", 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_taperscan_t = {"_p_taperscan_t", "taperscan_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};
&_swigt__p_float,
&_swigt__p_holdingdisk_t,
&_swigt__p_int,
+ &_swigt__p_interactivity_t,
&_swigt__p_interface_t,
&_swigt__p_p_GSList,
&_swigt__p_p_char,
&_swigt__p_pp_script_t,
+ &_swigt__p_taperscan_t,
&_swigt__p_tapetype_t,
&_swigt__p_unsigned_char,
};
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_interactivity_t[] = { {&_swigt__p_interactivity_t, 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_taperscan_t[] = { {&_swigt__p_taperscan_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}};
_swigc__p_float,
_swigc__p_holdingdisk_t,
_swigc__p_int,
+ _swigc__p_interactivity_t,
_swigc__p_interface_t,
_swigc__p_p_GSList,
_swigc__p_p_char,
_swigc__p_pp_script_t,
+ _swigc__p_taperscan_t,
_swigc__p_tapetype_t,
_swigc__p_unsigned_char,
};
{"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::lookup_interactivity", _wrap_lookup_interactivity},
+{"Amanda::Configc::interactivity_getconf", _wrap_interactivity_getconf},
+{"Amanda::Configc::interactivity_name", _wrap_interactivity_name},
+{"Amanda::Configc::interactivity_seen", _wrap_interactivity_seen},
+{"Amanda::Configc::lookup_taperscan", _wrap_lookup_taperscan},
+{"Amanda::Configc::taperscan_getconf", _wrap_taperscan_getconf},
+{"Amanda::Configc::taperscan_name", _wrap_taperscan_name},
+{"Amanda::Configc::taperscan_seen", _wrap_taperscan_seen},
{"Amanda::Configc::getconf_unit_divisor", _wrap_getconf_unit_divisor},
{"Amanda::Configc::config_init", _wrap_config_init},
{"Amanda::Configc::config_uninit", _wrap_config_uninit},
{"Amanda::Configc::taperalgo2str", _wrap_taperalgo2str},
{"Amanda::Configc::find_multiplier", _wrap_find_multiplier},
{"Amanda::Configc::C_string_to_boolean", _wrap_C_string_to_boolean},
+{"Amanda::Configc::amandaify_property_name", _wrap_amandaify_property_name},
{0,0}
};
/* -----------------------------------------------------------------------------
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_AMDUMP_SERVER", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_AMDUMP_SERVER)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_AUTOLABEL)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_META_AUTOLABEL", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_META_AUTOLABEL)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%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.39/perl5/perltypemaps.swg,65,%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)));
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_SEND_AMREPORT_ON)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPER_PARALLEL_WRITE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPER_PARALLEL_WRITE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_RECOVERY_LIMIT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_RECOVERY_LIMIT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_INTERACTIVITY", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_INTERACTIVITY)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "CNF_TAPERSCAN", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CNF_TAPERSCAN)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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.39/perl5/perltypemaps.swg,65,%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)));
+ SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_PART_SIZE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_PART_SIZE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_PART_CACHE_TYPE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_PART_CACHE_TYPE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_PART_CACHE_DIR", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_PART_CACHE_DIR)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPETYPE_PART_CACHE_MAX_SIZE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPETYPE_PART_CACHE_MAX_SIZE)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_DATA_PATH)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_ALLOW_SPLIT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_ALLOW_SPLIT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_RECOVERY_LIMIT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_RECOVERY_LIMIT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "DUMPTYPE_DUMP_LIMIT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DUMPTYPE_DUMP_LIMIT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "APPLICATION_CLIENT_NAME", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(APPLICATION_CLIENT_NAME)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_ORDER)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_SINGLE_EXECUTION", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_SINGLE_EXECUTION)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "PP_SCRIPT_CLIENT_NAME", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PP_SCRIPT_CLIENT_NAME)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CHANGER_CONFIG_DEVICE_PROPERTY)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "INTERACTIVITY_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(INTERACTIVITY_COMMENT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "INTERACTIVITY_PLUGIN", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(INTERACTIVITY_PLUGIN)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "INTERACTIVITY_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(INTERACTIVITY_PROPERTY)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPERSCAN_COMMENT", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPERSCAN_COMMENT)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPERSCAN_PLUGIN", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPERSCAN_PLUGIN)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "TAPERSCAN_PROPERTY", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(TAPERSCAN_PROPERTY)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_AMCHECK)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_AMCHECK", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_AMCHECK)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_ESTIMATE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_ESTIMATE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_ESTIMATE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_PRE_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_PRE_BACKUP)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
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.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "EXECUTE_ON_POST_BACKUP", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(EXECUTE_ON_POST_BACKUP)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));
sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DATA_PATH_DIRECTTCP)));
SvREADONLY_on(sv);
} while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "PART_CACHE_TYPE_NONE", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PART_CACHE_TYPE_NONE)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "PART_CACHE_TYPE_DISK", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PART_CACHE_TYPE_DISK)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
+ /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
+ SV *sv = get_sv((char*) SWIG_prefix "PART_CACHE_TYPE_MEMORY", TRUE | 0x2 | GV_ADDMULTI);
+ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PART_CACHE_TYPE_MEMORY)));
+ SvREADONLY_on(sv);
+ } while(0) /*@SWIG@*/;
/*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%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)));