1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
3 * Version 3.0.7
4 *
5 * This file is not intended to be easily readable and contains a number of
6 * coding conventions designed to improve portability and efficiency. Do not make
7 * changes to this file unless you know what you are doing--modify the SWIG
8 * interface file instead.
9 * ----------------------------------------------------------------------------- */
10
11 #include "../config/config.h"
12
13
14 #define SWIGPERL
15 #define SWIG_CASTRANK_MODE
16
17 /* -----------------------------------------------------------------------------
18 * This section contains generic SWIG labels for method/variable
19 * declarations/attributes, and other compiler dependent labels.
20 * ----------------------------------------------------------------------------- */
21
22 /* template workaround for compilers that cannot correctly implement the C++ standard */
23 #ifndef SWIGTEMPLATEDISAMBIGUATOR
24 # if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
25 # define SWIGTEMPLATEDISAMBIGUATOR template
26 # elif defined(__HP_aCC)
27 /* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
28 /* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
29 # define SWIGTEMPLATEDISAMBIGUATOR template
30 # else
31 # define SWIGTEMPLATEDISAMBIGUATOR
32 # endif
33 #endif
34
35 /* inline attribute */
36 #ifndef SWIGINLINE
37 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
38 # define SWIGINLINE inline
39 # else
40 # define SWIGINLINE
41 # endif
42 #endif
43
44 /* attribute recognised by some compilers to avoid 'unused' warnings */
45 #ifndef SWIGUNUSED
46 # if defined(__GNUC__)
47 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
48 # define SWIGUNUSED __attribute__ ((__unused__))
49 # else
50 # define SWIGUNUSED
51 # endif
52 # elif defined(__ICC)
53 # define SWIGUNUSED __attribute__ ((__unused__))
54 # else
55 # define SWIGUNUSED
56 # endif
57 #endif
58
59 #ifndef SWIG_MSC_UNSUPPRESS_4505
60 # if defined(_MSC_VER)
61 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
62 # endif
63 #endif
64
65 #ifndef SWIGUNUSEDPARM
66 # ifdef __cplusplus
67 # define SWIGUNUSEDPARM(p)
68 # else
69 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
70 # endif
71 #endif
72
73 /* internal SWIG method */
74 #ifndef SWIGINTERN
75 # define SWIGINTERN static SWIGUNUSED
76 #endif
77
78 /* internal inline SWIG method */
79 #ifndef SWIGINTERNINLINE
80 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
81 #endif
82
83 /* exporting methods */
84 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
85 # ifndef GCC_HASCLASSVISIBILITY
86 # define GCC_HASCLASSVISIBILITY
87 # endif
88 #endif
89
90 #ifndef SWIGEXPORT
91 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
92 # if defined(STATIC_LINKED)
93 # define SWIGEXPORT
94 # else
95 # define SWIGEXPORT __declspec(dllexport)
96 # endif
97 # else
98 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
99 # define SWIGEXPORT __attribute__ ((visibility("default")))
100 # else
101 # define SWIGEXPORT
102 # endif
103 # endif
104 #endif
105
106 /* calling conventions for Windows */
107 #ifndef SWIGSTDCALL
108 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
109 # define SWIGSTDCALL __stdcall
110 # else
111 # define SWIGSTDCALL
112 # endif
113 #endif
114
115 /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
116 #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
117 # define _CRT_SECURE_NO_DEPRECATE
118 #endif
119
120 /* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
121 #if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
122 # define _SCL_SECURE_NO_DEPRECATE
123 #endif
124
125 /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
126 #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
127 # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
128 #endif
129
130 /* Intel's compiler complains if a variable which was never initialised is
131 * cast to void, which is a common idiom which we use to indicate that we
132 * are aware a variable isn't used. So we just silence that warning.
133 * See: https://github.com/swig/swig/issues/192 for more discussion.
134 */
135 #ifdef __INTEL_COMPILER
136 # pragma warning disable 592
137 #endif
138
139 /* -----------------------------------------------------------------------------
140 * swigrun.swg
141 *
142 * This file contains generic C API SWIG runtime support for pointer
143 * type checking.
144 * ----------------------------------------------------------------------------- */
145
146 /* This should only be incremented when either the layout of swig_type_info changes,
147 or for whatever reason, the runtime changes incompatibly */
148 #define SWIG_RUNTIME_VERSION "4"
149
150 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
151 #ifdef SWIG_TYPE_TABLE
152 # define SWIG_QUOTE_STRING(x) #x
153 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
154 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
155 #else
156 # define SWIG_TYPE_TABLE_NAME
157 #endif
158
159 /*
160 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
161 creating a static or dynamic library from the SWIG runtime code.
162 In 99.9% of the cases, SWIG just needs to declare them as 'static'.
163
164 But only do this if strictly necessary, ie, if you have problems
165 with your compiler or suchlike.
166 */
167
168 #ifndef SWIGRUNTIME
169 # define SWIGRUNTIME SWIGINTERN
170 #endif
171
172 #ifndef SWIGRUNTIMEINLINE
173 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
174 #endif
175
176 /* Generic buffer size */
177 #ifndef SWIG_BUFFER_SIZE
178 # define SWIG_BUFFER_SIZE 1024
179 #endif
180
181 /* Flags for pointer conversions */
182 #define SWIG_POINTER_DISOWN 0x1
183 #define SWIG_CAST_NEW_MEMORY 0x2
184
185 /* Flags for new pointer objects */
186 #define SWIG_POINTER_OWN 0x1
187
188
189 /*
190 Flags/methods for returning states.
191
192 The SWIG conversion methods, as ConvertPtr, return an integer
193 that tells if the conversion was successful or not. And if not,
194 an error code can be returned (see swigerrors.swg for the codes).
195
196 Use the following macros/flags to set or process the returning
197 states.
198
199 In old versions of SWIG, code such as the following was usually written:
200
201 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
202 // success code
203 } else {
204 //fail code
205 }
206
207 Now you can be more explicit:
208
209 int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
210 if (SWIG_IsOK(res)) {
211 // success code
212 } else {
213 // fail code
214 }
215
216 which is the same really, but now you can also do
217
218 Type *ptr;
219 int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
220 if (SWIG_IsOK(res)) {
221 // success code
222 if (SWIG_IsNewObj(res) {
223 ...
224 delete *ptr;
225 } else {
226 ...
227 }
228 } else {
229 // fail code
230 }
231
232 I.e., now SWIG_ConvertPtr can return new objects and you can
233 identify the case and take care of the deallocation. Of course that
234 also requires SWIG_ConvertPtr to return new result values, such as
235
236 int SWIG_ConvertPtr(obj, ptr,...) {
237 if (<obj is ok>) {
238 if (<need new object>) {
239 *ptr = <ptr to new allocated object>;
240 return SWIG_NEWOBJ;
241 } else {
242 *ptr = <ptr to old object>;
243 return SWIG_OLDOBJ;
244 }
245 } else {
246 return SWIG_BADOBJ;
247 }
248 }
249
250 Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
251 more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
252 SWIG errors code.
253
254 Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
255 allows to return the 'cast rank', for example, if you have this
256
257 int food(double)
258 int fooi(int);
259
260 and you call
261
262 food(1) // cast rank '1' (1 -> 1.0)
263 fooi(1) // cast rank '0'
264
265 just use the SWIG_AddCast()/SWIG_CheckState()
266 */
267
268 #define SWIG_OK (0)
269 #define SWIG_ERROR (-1)
270 #define SWIG_IsOK(r) (r >= 0)
271 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
272
273 /* The CastRankLimit says how many bits are used for the cast rank */
274 #define SWIG_CASTRANKLIMIT (1 << 8)
275 /* The NewMask denotes the object was created (using new/malloc) */
276 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
277 /* The TmpMask is for in/out typemaps that use temporal objects */
278 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
279 /* Simple returning values */
280 #define SWIG_BADOBJ (SWIG_ERROR)
281 #define SWIG_OLDOBJ (SWIG_OK)
282 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
283 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
284 /* Check, add and del mask methods */
285 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
286 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
287 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
288 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
289 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
290 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
291
292 /* Cast-Rank Mode */
293 #if defined(SWIG_CASTRANK_MODE)
294 # ifndef SWIG_TypeRank
295 # define SWIG_TypeRank unsigned long
296 # endif
297 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
298 # define SWIG_MAXCASTRANK (2)
299 # endif
300 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
301 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
SWIG_AddCast(int r)302 SWIGINTERNINLINE int SWIG_AddCast(int r) {
303 return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
304 }
SWIG_CheckState(int r)305 SWIGINTERNINLINE int SWIG_CheckState(int r) {
306 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
307 }
308 #else /* no cast-rank mode */
309 # define SWIG_AddCast(r) (r)
310 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
311 #endif
312
313
314 #include <string.h>
315
316 #ifdef __cplusplus
317 extern "C" {
318 #endif
319
320 typedef void *(*swig_converter_func)(void *, int *);
321 typedef struct swig_type_info *(*swig_dycast_func)(void **);
322
323 /* Structure to store information on one type */
324 typedef struct swig_type_info {
325 const char *name; /* mangled name of this type */
326 const char *str; /* human readable name of this type */
327 swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
328 struct swig_cast_info *cast; /* linked list of types that can cast into this type */
329 void *clientdata; /* language specific type data */
330 int owndata; /* flag if the structure owns the clientdata */
331 } swig_type_info;
332
333 /* Structure to store a type and conversion function used for casting */
334 typedef struct swig_cast_info {
335 swig_type_info *type; /* pointer to type that is equivalent to this type */
336 swig_converter_func converter; /* function to cast the void pointers */
337 struct swig_cast_info *next; /* pointer to next cast in linked list */
338 struct swig_cast_info *prev; /* pointer to the previous cast */
339 } swig_cast_info;
340
341 /* Structure used to store module information
342 * Each module generates one structure like this, and the runtime collects
343 * all of these structures and stores them in a circularly linked list.*/
344 typedef struct swig_module_info {
345 swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
346 size_t size; /* Number of types in this module */
347 struct swig_module_info *next; /* Pointer to next element in circularly linked list */
348 swig_type_info **type_initial; /* Array of initially generated type structures */
349 swig_cast_info **cast_initial; /* Array of initially generated casting structures */
350 void *clientdata; /* Language specific module data */
351 } swig_module_info;
352
353 /*
354 Compare two type names skipping the space characters, therefore
355 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
356
357 Return 0 when the two name types are equivalent, as in
358 strncmp, but skipping ' '.
359 */
360 SWIGRUNTIME int
SWIG_TypeNameComp(const char * f1,const char * l1,const char * f2,const char * l2)361 SWIG_TypeNameComp(const char *f1, const char *l1,
362 const char *f2, const char *l2) {
363 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
364 while ((*f1 == ' ') && (f1 != l1)) ++f1;
365 while ((*f2 == ' ') && (f2 != l2)) ++f2;
366 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
367 }
368 return (int)((l1 - f1) - (l2 - f2));
369 }
370
371 /*
372 Check type equivalence in a name list like <name1>|<name2>|...
373 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
374 */
375 SWIGRUNTIME int
SWIG_TypeCmp(const char * nb,const char * tb)376 SWIG_TypeCmp(const char *nb, const char *tb) {
377 int equiv = 1;
378 const char* te = tb + strlen(tb);
379 const char* ne = nb;
380 while (equiv != 0 && *ne) {
381 for (nb = ne; *ne; ++ne) {
382 if (*ne == '|') break;
383 }
384 equiv = SWIG_TypeNameComp(nb, ne, tb, te);
385 if (*ne) ++ne;
386 }
387 return equiv;
388 }
389
390 /*
391 Check type equivalence in a name list like <name1>|<name2>|...
392 Return 0 if not equal, 1 if equal
393 */
394 SWIGRUNTIME int
SWIG_TypeEquiv(const char * nb,const char * tb)395 SWIG_TypeEquiv(const char *nb, const char *tb) {
396 return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
397 }
398
399 /*
400 Check the typename
401 */
402 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char * c,swig_type_info * ty)403 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
404 if (ty) {
405 swig_cast_info *iter = ty->cast;
406 while (iter) {
407 if (strcmp(iter->type->name, c) == 0) {
408 if (iter == ty->cast)
409 return iter;
410 /* Move iter to the top of the linked list */
411 iter->prev->next = iter->next;
412 if (iter->next)
413 iter->next->prev = iter->prev;
414 iter->next = ty->cast;
415 iter->prev = 0;
416 if (ty->cast) ty->cast->prev = iter;
417 ty->cast = iter;
418 return iter;
419 }
420 iter = iter->next;
421 }
422 }
423 return 0;
424 }
425
426 /*
427 Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
428 */
429 SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info * from,swig_type_info * ty)430 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
431 if (ty) {
432 swig_cast_info *iter = ty->cast;
433 while (iter) {
434 if (iter->type == from) {
435 if (iter == ty->cast)
436 return iter;
437 /* Move iter to the top of the linked list */
438 iter->prev->next = iter->next;
439 if (iter->next)
440 iter->next->prev = iter->prev;
441 iter->next = ty->cast;
442 iter->prev = 0;
443 if (ty->cast) ty->cast->prev = iter;
444 ty->cast = iter;
445 return iter;
446 }
447 iter = iter->next;
448 }
449 }
450 return 0;
451 }
452
453 /*
454 Cast a pointer up an inheritance hierarchy
455 */
456 SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info * ty,void * ptr,int * newmemory)457 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
458 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
459 }
460
461 /*
462 Dynamic pointer casting. Down an inheritance hierarchy
463 */
464 SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info * ty,void ** ptr)465 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
466 swig_type_info *lastty = ty;
467 if (!ty || !ty->dcast) return ty;
468 while (ty && (ty->dcast)) {
469 ty = (*ty->dcast)(ptr);
470 if (ty) lastty = ty;
471 }
472 return lastty;
473 }
474
475 /*
476 Return the name associated with this type
477 */
478 SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info * ty)479 SWIG_TypeName(const swig_type_info *ty) {
480 return ty->name;
481 }
482
483 /*
484 Return the pretty name associated with this type,
485 that is an unmangled type name in a form presentable to the user.
486 */
487 SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info * type)488 SWIG_TypePrettyName(const swig_type_info *type) {
489 /* The "str" field contains the equivalent pretty names of the
490 type, separated by vertical-bar characters. We choose
491 to print the last name, as it is often (?) the most
492 specific. */
493 if (!type) return NULL;
494 if (type->str != NULL) {
495 const char *last_name = type->str;
496 const char *s;
497 for (s = type->str; *s; s++)
498 if (*s == '|') last_name = s+1;
499 return last_name;
500 }
501 else
502 return type->name;
503 }
504
505 /*
506 Set the clientdata field for a type
507 */
508 SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info * ti,void * clientdata)509 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
510 swig_cast_info *cast = ti->cast;
511 /* if (ti->clientdata == clientdata) return; */
512 ti->clientdata = clientdata;
513
514 while (cast) {
515 if (!cast->converter) {
516 swig_type_info *tc = cast->type;
517 if (!tc->clientdata) {
518 SWIG_TypeClientData(tc, clientdata);
519 }
520 }
521 cast = cast->next;
522 }
523 }
524 SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info * ti,void * clientdata)525 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
526 SWIG_TypeClientData(ti, clientdata);
527 ti->owndata = 1;
528 }
529
530 /*
531 Search for a swig_type_info structure only by mangled name
532 Search is a O(log #types)
533
534 We start searching at module start, and finish searching when start == end.
535 Note: if start == end at the beginning of the function, we go all the way around
536 the circular list.
537 */
538 SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)539 SWIG_MangledTypeQueryModule(swig_module_info *start,
540 swig_module_info *end,
541 const char *name) {
542 swig_module_info *iter = start;
543 do {
544 if (iter->size) {
545 size_t l = 0;
546 size_t r = iter->size - 1;
547 do {
548 /* since l+r >= 0, we can (>> 1) instead (/ 2) */
549 size_t i = (l + r) >> 1;
550 const char *iname = iter->types[i]->name;
551 if (iname) {
552 int compare = strcmp(name, iname);
553 if (compare == 0) {
554 return iter->types[i];
555 } else if (compare < 0) {
556 if (i) {
557 r = i - 1;
558 } else {
559 break;
560 }
561 } else if (compare > 0) {
562 l = i + 1;
563 }
564 } else {
565 break; /* should never happen */
566 }
567 } while (l <= r);
568 }
569 iter = iter->next;
570 } while (iter != end);
571 return 0;
572 }
573
574 /*
575 Search for a swig_type_info structure for either a mangled name or a human readable name.
576 It first searches the mangled names of the types, which is a O(log #types)
577 If a type is not found it then searches the human readable names, which is O(#types).
578
579 We start searching at module start, and finish searching when start == end.
580 Note: if start == end at the beginning of the function, we go all the way around
581 the circular list.
582 */
583 SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info * start,swig_module_info * end,const char * name)584 SWIG_TypeQueryModule(swig_module_info *start,
585 swig_module_info *end,
586 const char *name) {
587 /* STEP 1: Search the name field using binary search */
588 swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
589 if (ret) {
590 return ret;
591 } else {
592 /* STEP 2: If the type hasn't been found, do a complete search
593 of the str field (the human readable name) */
594 swig_module_info *iter = start;
595 do {
596 size_t i = 0;
597 for (; i < iter->size; ++i) {
598 if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
599 return iter->types[i];
600 }
601 iter = iter->next;
602 } while (iter != end);
603 }
604
605 /* neither found a match */
606 return 0;
607 }
608
609 /*
610 Pack binary data into a string
611 */
612 SWIGRUNTIME char *
SWIG_PackData(char * c,void * ptr,size_t sz)613 SWIG_PackData(char *c, void *ptr, size_t sz) {
614 static const char hex[17] = "0123456789abcdef";
615 const unsigned char *u = (unsigned char *) ptr;
616 const unsigned char *eu = u + sz;
617 for (; u != eu; ++u) {
618 unsigned char uu = *u;
619 *(c++) = hex[(uu & 0xf0) >> 4];
620 *(c++) = hex[uu & 0xf];
621 }
622 return c;
623 }
624
625 /*
626 Unpack binary data from a string
627 */
628 SWIGRUNTIME const char *
SWIG_UnpackData(const char * c,void * ptr,size_t sz)629 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
630 unsigned char *u = (unsigned char *) ptr;
631 const unsigned char *eu = u + sz;
632 for (; u != eu; ++u) {
633 char d = *(c++);
634 unsigned char uu;
635 if ((d >= '0') && (d <= '9'))
636 uu = ((d - '0') << 4);
637 else if ((d >= 'a') && (d <= 'f'))
638 uu = ((d - ('a'-10)) << 4);
639 else
640 return (char *) 0;
641 d = *(c++);
642 if ((d >= '0') && (d <= '9'))
643 uu |= (d - '0');
644 else if ((d >= 'a') && (d <= 'f'))
645 uu |= (d - ('a'-10));
646 else
647 return (char *) 0;
648 *u = uu;
649 }
650 return c;
651 }
652
653 /*
654 Pack 'void *' into a string buffer.
655 */
656 SWIGRUNTIME char *
SWIG_PackVoidPtr(char * buff,void * ptr,const char * name,size_t bsz)657 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
658 char *r = buff;
659 if ((2*sizeof(void *) + 2) > bsz) return 0;
660 *(r++) = '_';
661 r = SWIG_PackData(r,&ptr,sizeof(void *));
662 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
663 strcpy(r,name);
664 return buff;
665 }
666
667 SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char * c,void ** ptr,const char * name)668 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
669 if (*c != '_') {
670 if (strcmp(c,"NULL") == 0) {
671 *ptr = (void *) 0;
672 return name;
673 } else {
674 return 0;
675 }
676 }
677 return SWIG_UnpackData(++c,ptr,sizeof(void *));
678 }
679
680 SWIGRUNTIME char *
SWIG_PackDataName(char * buff,void * ptr,size_t sz,const char * name,size_t bsz)681 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
682 char *r = buff;
683 size_t lname = (name ? strlen(name) : 0);
684 if ((2*sz + 2 + lname) > bsz) return 0;
685 *(r++) = '_';
686 r = SWIG_PackData(r,ptr,sz);
687 if (lname) {
688 strncpy(r,name,lname+1);
689 } else {
690 *r = 0;
691 }
692 return buff;
693 }
694
695 SWIGRUNTIME const char *
SWIG_UnpackDataName(const char * c,void * ptr,size_t sz,const char * name)696 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
697 if (*c != '_') {
698 if (strcmp(c,"NULL") == 0) {
699 memset(ptr,0,sz);
700 return name;
701 } else {
702 return 0;
703 }
704 }
705 return SWIG_UnpackData(++c,ptr,sz);
706 }
707
708 #ifdef __cplusplus
709 }
710 #endif
711
712 /* Errors in SWIG */
713 #define SWIG_UnknownError -1
714 #define SWIG_IOError -2
715 #define SWIG_RuntimeError -3
716 #define SWIG_IndexError -4
717 #define SWIG_TypeError -5
718 #define SWIG_DivisionByZero -6
719 #define SWIG_OverflowError -7
720 #define SWIG_SyntaxError -8
721 #define SWIG_ValueError -9
722 #define SWIG_SystemError -10
723 #define SWIG_AttributeError -11
724 #define SWIG_MemoryError -12
725 #define SWIG_NullReferenceError -13
726
727
728
729 #ifdef __cplusplus
730 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
731 #include <math.h>
732 #include <stdlib.h>
733 extern "C" {
734 #endif
735 #include "EXTERN.h"
736 #include "perl.h"
737 #include "XSUB.h"
738
739 /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
740
741 /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
742 #ifndef PERL_REVISION
743 # if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
744 # define PERL_PATCHLEVEL_H_IMPLICIT
745 # include <patchlevel.h>
746 # endif
747 # if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
748 # include <could_not_find_Perl_patchlevel.h>
749 # endif
750 # ifndef PERL_REVISION
751 # define PERL_REVISION (5)
752 # define PERL_VERSION PATCHLEVEL
753 # define PERL_SUBVERSION SUBVERSION
754 # endif
755 #endif
756
757 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
758 #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
759 #endif
760
761 #ifndef SvIOK_UV
762 # define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
763 #endif
764
765 #ifndef SvUOK
766 # define SvUOK(sv) SvIOK_UV(sv)
767 #endif
768
769 #if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
770 # define PL_sv_undef sv_undef
771 # define PL_na na
772 # define PL_errgv errgv
773 # define PL_sv_no sv_no
774 # define PL_sv_yes sv_yes
775 # define PL_markstack_ptr markstack_ptr
776 #endif
777
778 #ifndef IVSIZE
779 # ifdef LONGSIZE
780 # define IVSIZE LONGSIZE
781 # else
782 # define IVSIZE 4 /* A bold guess, but the best we can make. */
783 # endif
784 #endif
785
786 #ifndef INT2PTR
787 # if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
788 # define PTRV UV
789 # define INT2PTR(any,d) (any)(d)
790 # else
791 # if PTRSIZE == LONGSIZE
792 # define PTRV unsigned long
793 # else
794 # define PTRV unsigned
795 # endif
796 # define INT2PTR(any,d) (any)(PTRV)(d)
797 # endif
798
799 # define NUM2PTR(any,d) (any)(PTRV)(d)
800 # define PTR2IV(p) INT2PTR(IV,p)
801 # define PTR2UV(p) INT2PTR(UV,p)
802 # define PTR2NV(p) NUM2PTR(NV,p)
803
804 # if PTRSIZE == LONGSIZE
805 # define PTR2ul(p) (unsigned long)(p)
806 # else
807 # define PTR2ul(p) INT2PTR(unsigned long,p)
808 # endif
809 #endif /* !INT2PTR */
810
811 #ifndef SvPV_nolen
812 # define SvPV_nolen(x) SvPV(x,PL_na)
813 #endif
814
815 #ifndef get_sv
816 # define get_sv perl_get_sv
817 #endif
818
819 #ifndef ERRSV
820 # define ERRSV get_sv("@",FALSE)
821 #endif
822
823 #ifndef pTHX_
824 #define pTHX_
825 #endif
826
827 #include <string.h>
828 #ifdef __cplusplus
829 }
830 #endif
831
832 /* -----------------------------------------------------------------------------
833 * error manipulation
834 * ----------------------------------------------------------------------------- */
835
836 SWIGINTERN const char*
SWIG_Perl_ErrorType(int code)837 SWIG_Perl_ErrorType(int code) {
838 switch(code) {
839 case SWIG_MemoryError:
840 return "MemoryError";
841 case SWIG_IOError:
842 return "IOError";
843 case SWIG_RuntimeError:
844 return "RuntimeError";
845 case SWIG_IndexError:
846 return "IndexError";
847 case SWIG_TypeError:
848 return "TypeError";
849 case SWIG_DivisionByZero:
850 return "ZeroDivisionError";
851 case SWIG_OverflowError:
852 return "OverflowError";
853 case SWIG_SyntaxError:
854 return "SyntaxError";
855 case SWIG_ValueError:
856 return "ValueError";
857 case SWIG_SystemError:
858 return "SystemError";
859 case SWIG_AttributeError:
860 return "AttributeError";
861 default:
862 return "RuntimeError";
863 }
864 }
865
866
867 /* -----------------------------------------------------------------------------
868 * perlrun.swg
869 *
870 * This file contains the runtime support for Perl modules
871 * and includes code for managing global variables and pointer
872 * type checking.
873 * ----------------------------------------------------------------------------- */
874
875 #ifdef PERL_OBJECT
876 #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
877 #define SWIG_PERL_OBJECT_CALL pPerl,
878 #else
879 #define SWIG_PERL_OBJECT_DECL
880 #define SWIG_PERL_OBJECT_CALL
881 #endif
882
883 /* Common SWIG API */
884
885 /* for raw pointers */
886 #define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
887 #define SWIG_ConvertPtrAndOwn(obj, pp, type, flags,own) SWIG_Perl_ConvertPtrAndOwn(SWIG_PERL_OBJECT_CALL obj, pp, type, flags, own)
888 #define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
889 #define swig_owntype int
890
891 /* for raw packed data */
892 #define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
893 #define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)
894
895 /* for class or struct pointers */
896 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
897 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
898
899 /* for C or C++ function pointers */
900 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0)
901 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0)
902
903 /* for C++ member pointers, ie, member methods */
904 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty)
905 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type)
906
907
908 /* Runtime API */
909
910 #define SWIG_GetModule(clientdata) SWIG_Perl_GetModule(clientdata)
911 #define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer)
912
913
914 /* Error manipulation */
915
916 #define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code)
917 #define SWIG_Error(code, msg) sv_setpvf(get_sv("@", GV_ADD), "%s %s", SWIG_ErrorType(code), msg)
918 #define SWIG_fail goto fail
919
920 /* Perl-specific SWIG API */
921
922 #define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
923 #define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
924 #define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str)
925
926
927 #define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1)
928 #define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1)
929 #define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2)
930 #define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2)
931
932 /* -----------------------------------------------------------------------------
933 * pointers/data manipulation
934 * ----------------------------------------------------------------------------- */
935
936 /* For backward compatibility only */
937 #define SWIG_POINTER_EXCEPTION 0
938
939 #ifdef __cplusplus
940 extern "C" {
941 #endif
942
943 #define SWIG_OWNER SWIG_POINTER_OWN
944 #define SWIG_SHADOW SWIG_OWNER << 1
945
946 #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL
947
948 /* SWIG Perl macros */
949
950 /* Macro to declare an XS function */
951 #ifndef XSPROTO
952 # define XSPROTO(name) void name(pTHX_ CV* cv)
953 #endif
954
955 /* Macro to call an XS function */
956 #ifdef PERL_OBJECT
957 # define SWIG_CALLXS(_name) _name(cv,pPerl)
958 #else
959 # ifndef MULTIPLICITY
960 # define SWIG_CALLXS(_name) _name(cv)
961 # else
962 # define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
963 # endif
964 #endif
965
966 #ifdef PERL_OBJECT
967 #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;
968
969 #ifdef __cplusplus
970 extern "C" {
971 #endif
972 typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
973 #ifdef __cplusplus
974 }
975 #endif
976
977 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
978 #define SWIGCLASS_STATIC
979
980 #else /* PERL_OBJECT */
981
982 #define MAGIC_PPERL
983 #define SWIGCLASS_STATIC static SWIGUNUSED
984
985 #ifndef MULTIPLICITY
986 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
987
988 #ifdef __cplusplus
989 extern "C" {
990 #endif
991 typedef int (*SwigMagicFunc)(SV *, MAGIC *);
992 #ifdef __cplusplus
993 }
994 #endif
995
996 #else /* MULTIPLICITY */
997
998 #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
999
1000 #ifdef __cplusplus
1001 extern "C" {
1002 #endif
1003 typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
1004 #ifdef __cplusplus
1005 }
1006 #endif
1007
1008 #endif /* MULTIPLICITY */
1009 #endif /* PERL_OBJECT */
1010
1011 # ifdef PERL_OBJECT
1012 # define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
SWIG_Perl_croak_null(CPerlObj * pPerl)1013 static void SWIG_Perl_croak_null(CPerlObj *pPerl)
1014 # else
1015 static void SWIG_croak_null()
1016 # endif
1017 {
1018 SV *err = get_sv("@", GV_ADD);
1019 # if (PERL_VERSION < 6)
1020 croak("%_", err);
1021 # else
1022 if (sv_isobject(err))
1023 croak(0);
1024 else
1025 croak("%s", SvPV_nolen(err));
1026 # endif
1027 }
1028
1029
1030 /*
1031 Define how strict is the cast between strings and integers/doubles
1032 when overloading between these types occurs.
1033
1034 The default is making it as strict as possible by using SWIG_AddCast
1035 when needed.
1036
1037 You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
1038 disable the SWIG_AddCast, making the casting between string and
1039 numbers less strict.
1040
1041 In the end, we try to solve the overloading between strings and
1042 numerical types in the more natural way, but if you can avoid it,
1043 well, avoid it using %rename, for example.
1044 */
1045 #ifndef SWIG_PERL_NO_STRICT_STR2NUM
1046 # ifndef SWIG_PERL_STRICT_STR2NUM
1047 # define SWIG_PERL_STRICT_STR2NUM
1048 # endif
1049 #endif
1050 #ifdef SWIG_PERL_STRICT_STR2NUM
1051 /* string takes precedence */
1052 #define SWIG_Str2NumCast(x) SWIG_AddCast(x)
1053 #else
1054 /* number takes precedence */
1055 #define SWIG_Str2NumCast(x) x
1056 #endif
1057
1058
1059
1060 #include <stdlib.h>
1061
1062 SWIGRUNTIME const char *
SWIG_Perl_TypeProxyName(const swig_type_info * type)1063 SWIG_Perl_TypeProxyName(const swig_type_info *type) {
1064 if (!type) return NULL;
1065 if (type->clientdata != NULL) {
1066 return (const char*) type->clientdata;
1067 }
1068 else {
1069 return type->name;
1070 }
1071 }
1072
1073 /* Identical to SWIG_TypeCheck, except for strcmp comparison */
1074 SWIGRUNTIME swig_cast_info *
SWIG_TypeProxyCheck(const char * c,swig_type_info * ty)1075 SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
1076 if (ty) {
1077 swig_cast_info *iter = ty->cast;
1078 while (iter) {
1079 if (strcmp(SWIG_Perl_TypeProxyName(iter->type), c) == 0) {
1080 if (iter == ty->cast)
1081 return iter;
1082 /* Move iter to the top of the linked list */
1083 iter->prev->next = iter->next;
1084 if (iter->next)
1085 iter->next->prev = iter->prev;
1086 iter->next = ty->cast;
1087 iter->prev = 0;
1088 if (ty->cast) ty->cast->prev = iter;
1089 ty->cast = iter;
1090 return iter;
1091 }
1092 iter = iter->next;
1093 }
1094 }
1095 return 0;
1096 }
1097
1098 /* Function for getting a pointer value */
1099
1100 SWIGRUNTIME int
SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV * sv,void ** ptr,swig_type_info * _t,int flags,int * own)1101 SWIG_Perl_ConvertPtrAndOwn(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags, int *own) {
1102 swig_cast_info *tc;
1103 void *voidptr = (void *)0;
1104 SV *tsv = 0;
1105
1106 if (own)
1107 *own = 0;
1108
1109 /* If magical, apply more magic */
1110 if (SvGMAGICAL(sv))
1111 mg_get(sv);
1112
1113 /* Check to see if this is an object */
1114 if (sv_isobject(sv)) {
1115 IV tmp = 0;
1116 tsv = (SV*) SvRV(sv);
1117 if ((SvTYPE(tsv) == SVt_PVHV)) {
1118 MAGIC *mg;
1119 if (SvMAGICAL(tsv)) {
1120 mg = mg_find(tsv,'P');
1121 if (mg) {
1122 sv = mg->mg_obj;
1123 if (sv_isobject(sv)) {
1124 tsv = (SV*)SvRV(sv);
1125 tmp = SvIV(tsv);
1126 }
1127 }
1128 } else {
1129 return SWIG_ERROR;
1130 }
1131 } else {
1132 tmp = SvIV(tsv);
1133 }
1134 voidptr = INT2PTR(void *,tmp);
1135 } else if (! SvOK(sv)) { /* Check for undef */
1136 *(ptr) = (void *) 0;
1137 return SWIG_OK;
1138 } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */
1139 if (!SvROK(sv)) {
1140 /* In Perl 5.12 and later, SVt_RV == SVt_IV, so sv could be a valid integer value. */
1141 if (SvIOK(sv)) {
1142 return SWIG_ERROR;
1143 } else {
1144 /* NULL pointer (reference to undef). */
1145 *(ptr) = (void *) 0;
1146 return SWIG_OK;
1147 }
1148 } else {
1149 return SWIG_ERROR;
1150 }
1151 } else { /* Don't know what it is */
1152 return SWIG_ERROR;
1153 }
1154 if (_t) {
1155 /* Now see if the types match */
1156 char *_c = HvNAME(SvSTASH(SvRV(sv)));
1157 tc = SWIG_TypeProxyCheck(_c,_t);
1158 #ifdef SWIG_DIRECTORS
1159 if (!tc && !sv_derived_from(sv,SWIG_Perl_TypeProxyName(_t))) {
1160 #else
1161 if (!tc) {
1162 #endif
1163 return SWIG_ERROR;
1164 }
1165 {
1166 int newmemory = 0;
1167 *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
1168 if (newmemory == SWIG_CAST_NEW_MEMORY) {
1169 assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
1170 if (own)
1171 *own = *own | SWIG_CAST_NEW_MEMORY;
1172 }
1173 }
1174 } else {
1175 *ptr = voidptr;
1176 }
1177
1178 /*
1179 * DISOWN implementation: we need a perl guru to check this one.
1180 */
1181 if (tsv && (flags & SWIG_POINTER_DISOWN)) {
1182 /*
1183 * almost copy paste code from below SWIG_POINTER_OWN setting
1184 */
1185 SV *obj = sv;
1186 HV *stash = SvSTASH(SvRV(obj));
1187 GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1188 if (isGV(gv)) {
1189 HV *hv = GvHVn(gv);
1190 /*
1191 * To set ownership (see below), a newSViv(1) entry is added.
1192 * Hence, to remove ownership, we delete the entry.
1193 */
1194 if (hv_exists_ent(hv, obj, 0)) {
1195 hv_delete_ent(hv, obj, 0, 0);
1196 }
1197 }
1198 }
1199 return SWIG_OK;
1200 }
1201
1202 SWIGRUNTIME int
1203 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
1204 return SWIG_Perl_ConvertPtrAndOwn(sv, ptr, _t, flags, 0);
1205 }
1206
1207 SWIGRUNTIME void
1208 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
1209 if (ptr && (flags & (SWIG_SHADOW | SWIG_POINTER_OWN))) {
1210 SV *self;
1211 SV *obj=newSV(0);
1212 HV *hash=newHV();
1213 HV *stash;
1214 sv_setref_pv(obj, SWIG_Perl_TypeProxyName(t), ptr);
1215 stash=SvSTASH(SvRV(obj));
1216 if (flags & SWIG_POINTER_OWN) {
1217 HV *hv;
1218 GV *gv = *(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1219 if (!isGV(gv))
1220 gv_init(gv, stash, "OWNER", 5, FALSE);
1221 hv=GvHVn(gv);
1222 hv_store_ent(hv, obj, newSViv(1), 0);
1223 }
1224 sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
1225 SvREFCNT_dec(obj);
1226 self=newRV_noinc((SV *)hash);
1227 sv_setsv(sv, self);
1228 SvREFCNT_dec((SV *)self);
1229 sv_bless(sv, stash);
1230 }
1231 else {
1232 sv_setref_pv(sv, SWIG_Perl_TypeProxyName(t), ptr);
1233 }
1234 }
1235
1236 SWIGRUNTIMEINLINE SV *
1237 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
1238 SV *result = sv_newmortal();
1239 SWIG_MakePtr(result, ptr, t, flags);
1240 return result;
1241 }
1242
1243 SWIGRUNTIME void
1244 SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
1245 char result[1024];
1246 char *r = result;
1247 if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
1248 *(r++) = '_';
1249 r = SWIG_PackData(r,ptr,sz);
1250 strcpy(r,SWIG_Perl_TypeProxyName(type));
1251 sv_setpv(sv, result);
1252 }
1253
1254 SWIGRUNTIME SV *
1255 SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
1256 SV *result = sv_newmortal();
1257 SWIG_Perl_MakePackedObj(result, ptr, sz, type);
1258 return result;
1259 }
1260
1261 /* Convert a packed value value */
1262 SWIGRUNTIME int
1263 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
1264 swig_cast_info *tc;
1265 const char *c = 0;
1266
1267 if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
1268 c = SvPV_nolen(obj);
1269 /* Pointer values must start with leading underscore */
1270 if (*c != '_') return SWIG_ERROR;
1271 c++;
1272 c = SWIG_UnpackData(c,ptr,sz);
1273 if (ty) {
1274 tc = SWIG_TypeCheck(c,ty);
1275 if (!tc) return SWIG_ERROR;
1276 }
1277 return SWIG_OK;
1278 }
1279
1280
1281 /* Macros for low-level exception handling */
1282 #define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
1283
1284
1285 typedef XSPROTO(SwigPerlWrapper);
1286 typedef SwigPerlWrapper *SwigPerlWrapperPtr;
1287
1288 /* Structure for command table */
1289 typedef struct {
1290 const char *name;
1291 SwigPerlWrapperPtr wrapper;
1292 } swig_command_info;
1293
1294 /* Information for constant table */
1295
1296 #define SWIG_INT 1
1297 #define SWIG_FLOAT 2
1298 #define SWIG_STRING 3
1299 #define SWIG_POINTER 4
1300 #define SWIG_BINARY 5
1301
1302 /* Constant information structure */
1303 typedef struct swig_constant_info {
1304 int type;
1305 const char *name;
1306 long lvalue;
1307 double dvalue;
1308 void *pvalue;
1309 swig_type_info **ptype;
1310 } swig_constant_info;
1311
1312
1313 /* Structure for variable table */
1314 typedef struct {
1315 const char *name;
1316 SwigMagicFunc set;
1317 SwigMagicFunc get;
1318 swig_type_info **type;
1319 } swig_variable_info;
1320
1321 /* Magic variable code */
1322 #ifndef PERL_OBJECT
1323 # ifdef __cplusplus
1324 # define swig_create_magic(s,a,b,c) _swig_create_magic(s,const_cast<char*>(a),b,c)
1325 # else
1326 # define swig_create_magic(s,a,b,c) _swig_create_magic(s,(char*)(a),b,c)
1327 # endif
1328 # ifndef MULTIPLICITY
1329 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
1330 # else
1331 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
1332 # endif
1333 #else
1334 # define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
1335 SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *))
1336 #endif
1337 {
1338 MAGIC *mg;
1339 sv_magic(sv,sv,'U',name,strlen(name));
1340 mg = mg_find(sv,'U');
1341 mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
1342 mg->mg_virtual->svt_get = (SwigMagicFunc) get;
1343 mg->mg_virtual->svt_set = (SwigMagicFunc) set;
1344 mg->mg_virtual->svt_len = 0;
1345 mg->mg_virtual->svt_clear = 0;
1346 mg->mg_virtual->svt_free = 0;
1347 }
1348
1349
1350 SWIGRUNTIME swig_module_info *
1351 SWIG_Perl_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
1352 static void *type_pointer = (void *)0;
1353 SV *pointer;
1354
1355 /* first check if pointer already created */
1356 if (!type_pointer) {
1357 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
1358 if (pointer && SvOK(pointer)) {
1359 type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
1360 }
1361 }
1362
1363 return (swig_module_info *) type_pointer;
1364 }
1365
1366 SWIGRUNTIME void
1367 SWIG_Perl_SetModule(swig_module_info *module) {
1368 SV *pointer;
1369
1370 /* create a new pointer */
1371 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
1372 sv_setiv(pointer, PTR2IV(module));
1373 }
1374
1375 #ifdef __cplusplus
1376 }
1377 #endif
1378
1379 /* Workaround perl5 global namespace pollution. Note that undefining library
1380 * functions like fopen will not solve the problem on all platforms as fopen
1381 * might be a macro on Windows but not necessarily on other operating systems. */
1382 #ifdef do_open
1383 #undef do_open
1384 #endif
1385 #ifdef do_close
1386 #undef do_close
1387 #endif
1388 #ifdef do_exec
1389 #undef do_exec
1390 #endif
1391 #ifdef scalar
1392 #undef scalar
1393 #endif
1394 #ifdef list
1395 #undef list
1396 #endif
1397 #ifdef apply
1398 #undef apply
1399 #endif
1400 #ifdef convert
1401 #undef convert
1402 #endif
1403 #ifdef Error
1404 #undef Error
1405 #endif
1406 #ifdef form
1407 #undef form
1408 #endif
1409 #ifdef vform
1410 #undef vform
1411 #endif
1412 #ifdef LABEL
1413 #undef LABEL
1414 #endif
1415 #ifdef METHOD
1416 #undef METHOD
1417 #endif
1418 #ifdef Move
1419 #undef Move
1420 #endif
1421 #ifdef yylex
1422 #undef yylex
1423 #endif
1424 #ifdef yyparse
1425 #undef yyparse
1426 #endif
1427 #ifdef yyerror
1428 #undef yyerror
1429 #endif
1430 #ifdef invert
1431 #undef invert
1432 #endif
1433 #ifdef ref
1434 #undef ref
1435 #endif
1436 #ifdef read
1437 #undef read
1438 #endif
1439 #ifdef write
1440 #undef write
1441 #endif
1442 #ifdef eof
1443 #undef eof
1444 #endif
1445 #ifdef close
1446 #undef close
1447 #endif
1448 #ifdef rewind
1449 #undef rewind
1450 #endif
1451 #ifdef free
1452 #undef free
1453 #endif
1454 #ifdef malloc
1455 #undef malloc
1456 #endif
1457 #ifdef calloc
1458 #undef calloc
1459 #endif
1460 #ifdef Stat
1461 #undef Stat
1462 #endif
1463 #ifdef check
1464 #undef check
1465 #endif
1466 #ifdef seekdir
1467 #undef seekdir
1468 #endif
1469 #ifdef open
1470 #undef open
1471 #endif
1472 #ifdef readdir
1473 #undef readdir
1474 #endif
1475 #ifdef bind
1476 #undef bind
1477 #endif
1478 #ifdef access
1479 #undef access
1480 #endif
1481 #ifdef stat
1482 #undef stat
1483 #endif
1484 #ifdef seed
1485 #undef seed
1486 #endif
1487
1488 #ifdef bool
1489 /* Leave if macro is from C99 stdbool.h */
1490 #ifndef __bool_true_false_are_defined
1491
1492 #endif
1493 #endif
1494
1495
1496
1497
1498 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1499
1500 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1501
1502
1503
1504 #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
1505
1506
1507 /* -------- TYPES TABLE (BEGIN) -------- */
1508
1509 #define SWIGTYPE_p_Set swig_types[0]
1510 #define SWIGTYPE_p_am_feature_e swig_types[1]
1511 #define SWIGTYPE_p_am_feature_t swig_types[2]
1512 #define SWIGTYPE_p_char swig_types[3]
1513 #define SWIGTYPE_p_double swig_types[4]
1514 #define SWIGTYPE_p_float swig_types[5]
1515 #define SWIGTYPE_p_int swig_types[6]
1516 #define SWIGTYPE_p_unsigned_char swig_types[7]
1517 static swig_type_info *swig_types[9];
1518 static swig_module_info swig_module = {swig_types, 8, 0, 0, 0, 0};
1519 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1520 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1521
1522 /* -------- TYPES TABLE (END) -------- */
1523
1524 #define SWIG_init boot_Amanda__Feature
1525
1526 #define SWIG_name "Amanda::Featurec::boot_Amanda__Feature"
1527 #define SWIG_prefix "Amanda::Featurec::"
1528
1529 #define SWIGVERSION 0x030007
1530 #define SWIG_VERSION SWIGVERSION
1531
1532
1533 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
1534 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1535
1536
1537 #ifdef __cplusplus
1538 extern "C"
1539 #endif
1540 #ifndef PERL_OBJECT
1541 #ifndef MULTIPLICITY
1542 SWIGEXPORT void SWIG_init (CV* cv);
1543 #else
1544 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1545 #endif
1546 #else
1547 SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1548 #endif
1549
1550
1551 #include "amglue.h"
1552
1553
1554 #include "amglue.h"
1555
1556
1557 #include "amglue.h"
1558
1559
1560 #include "amfeatures.h"
1561
1562
1563 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(long value)1564 SWIG_From_long SWIG_PERL_DECL_ARGS_1(long value)
1565 {
1566 SV *sv;
1567 if (value >= IV_MIN && value <= IV_MAX)
1568 sv = newSViv(value);
1569 else
1570 sv = newSVpvf("%ld", value);
1571 return sv_2mortal(sv);
1572 }
1573
1574
1575 SWIGINTERNINLINE SV *
SWIG_PERL_DECL_ARGS_1(int value)1576 SWIG_From_int SWIG_PERL_DECL_ARGS_1(int value)
1577 {
1578 return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value);
1579 }
1580
1581
1582 typedef am_feature_t Set;
1583
delete_Set(Set * self)1584 SWIGINTERN void delete_Set(Set *self){
1585 am_release_feature_set(self);
1586 }
1587
1588 #include <limits.h>
1589 #if !defined(SWIG_NO_LLONG_MAX)
1590 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1591 # define LLONG_MAX __LONG_LONG_MAX__
1592 # define LLONG_MIN (-LLONG_MAX - 1LL)
1593 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1594 # endif
1595 #endif
1596
1597
1598 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,double * val)1599 SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
1600 {
1601 if (SvNIOK(obj)) {
1602 if (val) *val = SvNV(obj);
1603 return SWIG_OK;
1604 } else if (SvIOK(obj)) {
1605 if (val) *val = (double) SvIV(obj);
1606 return SWIG_AddCast(SWIG_OK);
1607 } else {
1608 const char *nptr = SvPV_nolen(obj);
1609 if (nptr) {
1610 char *endptr;
1611 double v;
1612 errno = 0;
1613 v = strtod(nptr, &endptr);
1614 if (errno == ERANGE) {
1615 errno = 0;
1616 return SWIG_OverflowError;
1617 } else {
1618 if (*endptr == '\0') {
1619 if (val) *val = v;
1620 return SWIG_Str2NumCast(SWIG_OK);
1621 }
1622 }
1623 }
1624 }
1625 return SWIG_TypeError;
1626 }
1627
1628
1629 #include <float.h>
1630
1631
1632 #include <math.h>
1633
1634
1635 SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double * d,double min,double max)1636 SWIG_CanCastAsInteger(double *d, double min, double max) {
1637 double x = *d;
1638 if ((min <= x && x <= max)) {
1639 double fx = floor(x);
1640 double cx = ceil(x);
1641 double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
1642 if ((errno == EDOM) || (errno == ERANGE)) {
1643 errno = 0;
1644 } else {
1645 double summ, reps, diff;
1646 if (rd < x) {
1647 diff = x - rd;
1648 } else if (rd > x) {
1649 diff = rd - x;
1650 } else {
1651 return 1;
1652 }
1653 summ = rd + x;
1654 reps = diff/summ;
1655 if (reps < 8*DBL_EPSILON) {
1656 *d = rd;
1657 return 1;
1658 }
1659 }
1660 }
1661 return 0;
1662 }
1663
1664
1665 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,long * val)1666 SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
1667 {
1668 if (SvUOK(obj)) {
1669 UV v = SvUV(obj);
1670 if (v <= LONG_MAX) {
1671 if (val) *val = v;
1672 return SWIG_OK;
1673 }
1674 return SWIG_OverflowError;
1675 } else if (SvIOK(obj)) {
1676 IV v = SvIV(obj);
1677 if (v >= LONG_MIN && v <= LONG_MAX) {
1678 if(val) *val = v;
1679 return SWIG_OK;
1680 }
1681 return SWIG_OverflowError;
1682 } else {
1683 int dispatch = 0;
1684 const char *nptr = SvPV_nolen(obj);
1685 if (nptr) {
1686 char *endptr;
1687 long v;
1688 errno = 0;
1689 v = strtol(nptr, &endptr,0);
1690 if (errno == ERANGE) {
1691 errno = 0;
1692 return SWIG_OverflowError;
1693 } else {
1694 if (*endptr == '\0') {
1695 if (val) *val = v;
1696 return SWIG_Str2NumCast(SWIG_OK);
1697 }
1698 }
1699 }
1700 if (!dispatch) {
1701 double d;
1702 int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1703 if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
1704 if (val) *val = (long)(d);
1705 return res;
1706 }
1707 }
1708 }
1709 return SWIG_TypeError;
1710 }
1711
1712
1713 SWIGINTERN int
SWIG_PERL_DECL_ARGS_2(SV * obj,int * val)1714 SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
1715 {
1716 long v;
1717 int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v);
1718 if (SWIG_IsOK(res)) {
1719 if ((v < INT_MIN || v > INT_MAX)) {
1720 return SWIG_OverflowError;
1721 } else {
1722 if (val) *val = (int)(v);
1723 }
1724 }
1725 return res;
1726 }
1727
Set_add(Set * self,int feature)1728 SWIGINTERN void Set_add(Set *self,int feature){
1729 am_add_feature(self, feature);
1730 }
Set_remove(Set * self,int feature)1731 SWIGINTERN void Set_remove(Set *self,int feature){
1732 am_remove_feature(self, feature);
1733 }
Set_has(Set * self,int feature)1734 SWIGINTERN int Set_has(Set *self,int feature){
1735 return am_has_feature(self, feature);
1736 }
Set_as_string(Set * self)1737 SWIGINTERN char *Set_as_string(Set *self){
1738 return am_feature_to_string(self);
1739 }
1740
1741 SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char * carray,size_t size)1742 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1743 {
1744 SV *obj = sv_newmortal();
1745 if (carray) {
1746 sv_setpvn(obj, carray, size);
1747 } else {
1748 sv_setsv(obj, &PL_sv_undef);
1749 }
1750 return obj;
1751 }
1752
1753
1754 SWIGINTERNINLINE SV *
SWIG_FromCharPtr(const char * cptr)1755 SWIG_FromCharPtr(const char *cptr)
1756 {
1757 return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
1758 }
1759
1760
1761 SWIGINTERN swig_type_info*
SWIG_pchar_descriptor(void)1762 SWIG_pchar_descriptor(void)
1763 {
1764 static int init = 0;
1765 static swig_type_info* info = 0;
1766 if (!init) {
1767 info = SWIG_TypeQuery("_p_char");
1768 init = 1;
1769 }
1770 return info;
1771 }
1772
1773
1774 SWIGINTERN int
SWIG_AsCharPtrAndSize(SV * obj,char ** cptr,size_t * psize,int * alloc)1775 SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
1776 {
1777 if (SvMAGICAL(obj)) {
1778 SV *tmp = sv_newmortal();
1779 SvSetSV(tmp, obj);
1780 obj = tmp;
1781 }
1782 if (SvPOK(obj)) {
1783 STRLEN len = 0;
1784 char *cstr = SvPV(obj, len);
1785 size_t size = len + 1;
1786 if (cptr) {
1787 if (alloc) {
1788 if (*alloc == SWIG_NEWOBJ) {
1789 *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
1790 } else {
1791 *cptr = cstr;
1792 *alloc = SWIG_OLDOBJ;
1793 }
1794 }
1795 }
1796 if (psize) *psize = size;
1797 return SWIG_OK;
1798 } else {
1799 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
1800 if (pchar_descriptor) {
1801 char* vptr = 0;
1802 if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
1803 if (cptr) *cptr = vptr;
1804 if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
1805 if (alloc) *alloc = SWIG_OLDOBJ;
1806 return SWIG_OK;
1807 }
1808 }
1809 }
1810 return SWIG_TypeError;
1811 }
1812
1813
1814
1815
1816 #ifdef __cplusplus
1817 extern "C" {
1818 #endif
1819
1820 #ifdef PERL_OBJECT
1821 #define MAGIC_CLASS _wrap_Amanda__Feature_var::
1822 class _wrap_Amanda__Feature_var : public CPerlObj {
1823 public:
1824 #else
1825 #define MAGIC_CLASS
1826 #endif
swig_magic_readonly(pTHX_ SV * SWIGUNUSEDPARM (sv),MAGIC * SWIGUNUSEDPARM (mg))1827 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
1828 MAGIC_PPERL
1829 croak("Value is read-only.");
1830 return 0;
1831 }
1832
1833
1834 #ifdef PERL_OBJECT
1835 };
1836 #endif
1837
1838 #ifdef __cplusplus
1839 }
1840 #endif
1841
1842 #ifdef __cplusplus
1843 extern "C" {
1844 #endif
XS(_wrap_delete_Set)1845 XS(_wrap_delete_Set) {
1846 {
1847 Set *arg1 = (Set *) 0 ;
1848 void *argp1 = 0 ;
1849 int res1 = 0 ;
1850 int argvi = 0;
1851 dXSARGS;
1852
1853 if ((items < 1) || (items > 1)) {
1854 SWIG_croak("Usage: delete_Set(self);");
1855 }
1856 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, SWIG_POINTER_DISOWN | 0 );
1857 if (!SWIG_IsOK(res1)) {
1858 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Set" "', argument " "1"" of type '" "Set *""'");
1859 }
1860 arg1 = (Set *)(argp1);
1861 delete_Set(arg1);
1862 ST(argvi) = sv_newmortal();
1863
1864 XSRETURN(argvi);
1865 fail:
1866
1867 SWIG_croak_null();
1868 }
1869 }
1870
1871
XS(_wrap_Set_add)1872 XS(_wrap_Set_add) {
1873 {
1874 Set *arg1 = (Set *) 0 ;
1875 int arg2 ;
1876 void *argp1 = 0 ;
1877 int res1 = 0 ;
1878 int argvi = 0;
1879 dXSARGS;
1880
1881 if ((items < 2) || (items > 2)) {
1882 SWIG_croak("Usage: Set_add(self,feature);");
1883 }
1884 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, 0 | 0 );
1885 if (!SWIG_IsOK(res1)) {
1886 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Set_add" "', argument " "1"" of type '" "Set *""'");
1887 }
1888 arg1 = (Set *)(argp1);
1889 {
1890 if (sizeof(signed int) == 1) {
1891 arg2 = amglue_SvI8(ST(1));
1892 } else if (sizeof(signed int) == 2) {
1893 arg2 = amglue_SvI16(ST(1));
1894 } else if (sizeof(signed int) == 4) {
1895 arg2 = amglue_SvI32(ST(1));
1896 } else if (sizeof(signed int) == 8) {
1897 arg2 = amglue_SvI64(ST(1));
1898 } else {
1899 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
1900 }
1901 }
1902 Set_add(arg1,arg2);
1903 ST(argvi) = sv_newmortal();
1904
1905
1906 XSRETURN(argvi);
1907 fail:
1908
1909
1910 SWIG_croak_null();
1911 }
1912 }
1913
1914
XS(_wrap_Set_remove)1915 XS(_wrap_Set_remove) {
1916 {
1917 Set *arg1 = (Set *) 0 ;
1918 int arg2 ;
1919 void *argp1 = 0 ;
1920 int res1 = 0 ;
1921 int argvi = 0;
1922 dXSARGS;
1923
1924 if ((items < 2) || (items > 2)) {
1925 SWIG_croak("Usage: Set_remove(self,feature);");
1926 }
1927 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, 0 | 0 );
1928 if (!SWIG_IsOK(res1)) {
1929 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Set_remove" "', argument " "1"" of type '" "Set *""'");
1930 }
1931 arg1 = (Set *)(argp1);
1932 {
1933 if (sizeof(signed int) == 1) {
1934 arg2 = amglue_SvI8(ST(1));
1935 } else if (sizeof(signed int) == 2) {
1936 arg2 = amglue_SvI16(ST(1));
1937 } else if (sizeof(signed int) == 4) {
1938 arg2 = amglue_SvI32(ST(1));
1939 } else if (sizeof(signed int) == 8) {
1940 arg2 = amglue_SvI64(ST(1));
1941 } else {
1942 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
1943 }
1944 }
1945 Set_remove(arg1,arg2);
1946 ST(argvi) = sv_newmortal();
1947
1948
1949 XSRETURN(argvi);
1950 fail:
1951
1952
1953 SWIG_croak_null();
1954 }
1955 }
1956
1957
XS(_wrap_Set_has)1958 XS(_wrap_Set_has) {
1959 {
1960 Set *arg1 = (Set *) 0 ;
1961 int arg2 ;
1962 void *argp1 = 0 ;
1963 int res1 = 0 ;
1964 int argvi = 0;
1965 int result;
1966 dXSARGS;
1967
1968 if ((items < 2) || (items > 2)) {
1969 SWIG_croak("Usage: Set_has(self,feature);");
1970 }
1971 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, 0 | 0 );
1972 if (!SWIG_IsOK(res1)) {
1973 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Set_has" "', argument " "1"" of type '" "Set *""'");
1974 }
1975 arg1 = (Set *)(argp1);
1976 {
1977 if (sizeof(signed int) == 1) {
1978 arg2 = amglue_SvI8(ST(1));
1979 } else if (sizeof(signed int) == 2) {
1980 arg2 = amglue_SvI16(ST(1));
1981 } else if (sizeof(signed int) == 4) {
1982 arg2 = amglue_SvI32(ST(1));
1983 } else if (sizeof(signed int) == 8) {
1984 arg2 = amglue_SvI64(ST(1));
1985 } else {
1986 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
1987 }
1988 }
1989 result = (int)Set_has(arg1,arg2);
1990 {
1991 SV *for_stack;
1992 SP += argvi; PUTBACK;
1993 for_stack = sv_2mortal(amglue_newSVi64(result));
1994 SPAGAIN; SP -= argvi;
1995 ST(argvi) = for_stack;
1996 argvi++;
1997 }
1998
1999
2000 XSRETURN(argvi);
2001 fail:
2002
2003
2004 SWIG_croak_null();
2005 }
2006 }
2007
2008
XS(_wrap_Set_as_string)2009 XS(_wrap_Set_as_string) {
2010 {
2011 Set *arg1 = (Set *) 0 ;
2012 void *argp1 = 0 ;
2013 int res1 = 0 ;
2014 int argvi = 0;
2015 char *result = 0 ;
2016 dXSARGS;
2017
2018 if ((items < 1) || (items > 1)) {
2019 SWIG_croak("Usage: Set_as_string(self);");
2020 }
2021 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, 0 | 0 );
2022 if (!SWIG_IsOK(res1)) {
2023 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Set_as_string" "', argument " "1"" of type '" "Set *""'");
2024 }
2025 arg1 = (Set *)(argp1);
2026 result = (char *)Set_as_string(arg1);
2027 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2028
2029 free((char*)result);
2030 XSRETURN(argvi);
2031 fail:
2032
2033 SWIG_croak_null();
2034 }
2035 }
2036
2037
XS(_wrap_new_Set)2038 XS(_wrap_new_Set) {
2039 {
2040 int argvi = 0;
2041 Set *result = 0 ;
2042 dXSARGS;
2043
2044 if ((items < 0) || (items > 0)) {
2045 SWIG_croak("Usage: new_Set();");
2046 }
2047 result = (Set *)calloc(1, sizeof(Set));
2048 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Set, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2049 XSRETURN(argvi);
2050 fail:
2051 SWIG_croak_null();
2052 }
2053 }
2054
2055
XS(_wrap_am_string_to_feature)2056 XS(_wrap_am_string_to_feature) {
2057 {
2058 char *arg1 = (char *) 0 ;
2059 int res1 ;
2060 char *buf1 = 0 ;
2061 int alloc1 = 0 ;
2062 int argvi = 0;
2063 Set *result = 0 ;
2064 dXSARGS;
2065
2066 if ((items < 1) || (items > 1)) {
2067 SWIG_croak("Usage: am_string_to_feature(s);");
2068 }
2069 res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2070 if (!SWIG_IsOK(res1)) {
2071 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "am_string_to_feature" "', argument " "1"" of type '" "char *""'");
2072 }
2073 arg1 = (char *)(buf1);
2074 result = (Set *)am_string_to_feature(arg1);
2075 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Set, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2076 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2077 XSRETURN(argvi);
2078 fail:
2079 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2080 SWIG_croak_null();
2081 }
2082 }
2083
2084
XS(_wrap_am_set_default_feature_set)2085 XS(_wrap_am_set_default_feature_set) {
2086 {
2087 int argvi = 0;
2088 Set *result = 0 ;
2089 dXSARGS;
2090
2091 if ((items < 0) || (items > 0)) {
2092 SWIG_croak("Usage: am_set_default_feature_set();");
2093 }
2094 result = (Set *)am_set_default_feature_set();
2095 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Set, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2096 XSRETURN(argvi);
2097 fail:
2098 SWIG_croak_null();
2099 }
2100 }
2101
2102
XS(_wrap_am_init_feature_set)2103 XS(_wrap_am_init_feature_set) {
2104 {
2105 int argvi = 0;
2106 Set *result = 0 ;
2107 dXSARGS;
2108
2109 if ((items < 0) || (items > 0)) {
2110 SWIG_croak("Usage: am_init_feature_set();");
2111 }
2112 result = (Set *)am_init_feature_set();
2113 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Set, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2114 XSRETURN(argvi);
2115 fail:
2116 SWIG_croak_null();
2117 }
2118 }
2119
2120
XS(_wrap_am_features)2121 XS(_wrap_am_features) {
2122 {
2123 Set *arg1 = (Set *) 0 ;
2124 void *argp1 = 0 ;
2125 int res1 = 0 ;
2126 int argvi = 0;
2127 am_feature_t *result = 0 ;
2128 dXSARGS;
2129
2130 if ((items < 1) || (items > 1)) {
2131 SWIG_croak("Usage: am_features(Set *);");
2132 }
2133 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Set, 0 | 0 );
2134 if (!SWIG_IsOK(res1)) {
2135 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "am_features" "', argument " "1"" of type '" "Set *""'");
2136 }
2137 arg1 = (Set *)(argp1);
2138 result = (am_feature_t *)am_features(arg1);
2139 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_am_feature_t, 0 | 0); argvi++ ;
2140
2141 XSRETURN(argvi);
2142 fail:
2143
2144 SWIG_croak_null();
2145 }
2146 }
2147
2148
2149
2150 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
2151
2152 static swig_type_info _swigt__p_Set = {"_p_Set", "Set *", 0, 0, (void*)"Amanda::Feature::Set", 0};
2153 static swig_type_info _swigt__p_am_feature_e = {"_p_am_feature_e", "enum am_feature_e *|am_feature_e *", 0, 0, (void*)0, 0};
2154 static swig_type_info _swigt__p_am_feature_t = {"_p_am_feature_t", "am_feature_t *", 0, 0, (void*)0, 0};
2155 static swig_type_info _swigt__p_char = {"_p_char", "gchar *|char *", 0, 0, (void*)0, 0};
2156 static swig_type_info _swigt__p_double = {"_p_double", "double *|gdouble *", 0, 0, (void*)0, 0};
2157 static swig_type_info _swigt__p_float = {"_p_float", "float *|gfloat *", 0, 0, (void*)0, 0};
2158 static swig_type_info _swigt__p_int = {"_p_int", "int *|gboolean *", 0, 0, (void*)0, 0};
2159 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "guchar *|unsigned char *", 0, 0, (void*)0, 0};
2160
2161 static swig_type_info *swig_type_initial[] = {
2162 &_swigt__p_Set,
2163 &_swigt__p_am_feature_e,
2164 &_swigt__p_am_feature_t,
2165 &_swigt__p_char,
2166 &_swigt__p_double,
2167 &_swigt__p_float,
2168 &_swigt__p_int,
2169 &_swigt__p_unsigned_char,
2170 };
2171
2172 static swig_cast_info _swigc__p_Set[] = { {&_swigt__p_Set, 0, 0, 0},{0, 0, 0, 0}};
2173 static swig_cast_info _swigc__p_am_feature_e[] = { {&_swigt__p_am_feature_e, 0, 0, 0},{0, 0, 0, 0}};
2174 static swig_cast_info _swigc__p_am_feature_t[] = { {&_swigt__p_am_feature_t, 0, 0, 0},{0, 0, 0, 0}};
2175 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
2176 static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
2177 static swig_cast_info _swigc__p_float[] = { {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
2178 static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
2179 static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
2180
2181 static swig_cast_info *swig_cast_initial[] = {
2182 _swigc__p_Set,
2183 _swigc__p_am_feature_e,
2184 _swigc__p_am_feature_t,
2185 _swigc__p_char,
2186 _swigc__p_double,
2187 _swigc__p_float,
2188 _swigc__p_int,
2189 _swigc__p_unsigned_char,
2190 };
2191
2192
2193 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
2194
2195 static swig_constant_info swig_constants[] = {
2196 {0,0,0,0,0,0}
2197 };
2198 #ifdef __cplusplus
2199 }
2200 #endif
2201 static swig_variable_info swig_variables[] = {
2202 {0,0,0,0}
2203 };
2204 static swig_command_info swig_commands[] = {
2205 {"Amanda::Featurec::delete_Set", _wrap_delete_Set},
2206 {"Amanda::Featurec::Set_add", _wrap_Set_add},
2207 {"Amanda::Featurec::Set_remove", _wrap_Set_remove},
2208 {"Amanda::Featurec::Set_has", _wrap_Set_has},
2209 {"Amanda::Featurec::Set_as_string", _wrap_Set_as_string},
2210 {"Amanda::Featurec::new_Set", _wrap_new_Set},
2211 {"Amanda::Featurec::am_string_to_feature", _wrap_am_string_to_feature},
2212 {"Amanda::Featurec::am_set_default_feature_set", _wrap_am_set_default_feature_set},
2213 {"Amanda::Featurec::am_init_feature_set", _wrap_am_init_feature_set},
2214 {"Amanda::Featurec::am_features", _wrap_am_features},
2215 {0,0}
2216 };
2217 /* -----------------------------------------------------------------------------
2218 * Type initialization:
2219 * This problem is tough by the requirement that no dynamic
2220 * memory is used. Also, since swig_type_info structures store pointers to
2221 * swig_cast_info structures and swig_cast_info structures store pointers back
2222 * to swig_type_info structures, we need some lookup code at initialization.
2223 * The idea is that swig generates all the structures that are needed.
2224 * The runtime then collects these partially filled structures.
2225 * The SWIG_InitializeModule function takes these initial arrays out of
2226 * swig_module, and does all the lookup, filling in the swig_module.types
2227 * array with the correct data and linking the correct swig_cast_info
2228 * structures together.
2229 *
2230 * The generated swig_type_info structures are assigned statically to an initial
2231 * array. We just loop through that array, and handle each type individually.
2232 * First we lookup if this type has been already loaded, and if so, use the
2233 * loaded structure instead of the generated one. Then we have to fill in the
2234 * cast linked list. The cast data is initially stored in something like a
2235 * two-dimensional array. Each row corresponds to a type (there are the same
2236 * number of rows as there are in the swig_type_initial array). Each entry in
2237 * a column is one of the swig_cast_info structures for that type.
2238 * The cast_initial array is actually an array of arrays, because each row has
2239 * a variable number of columns. So to actually build the cast linked list,
2240 * we find the array of casts associated with the type, and loop through it
2241 * adding the casts to the list. The one last trick we need to do is making
2242 * sure the type pointer in the swig_cast_info struct is correct.
2243 *
2244 * First off, we lookup the cast->type name to see if it is already loaded.
2245 * There are three cases to handle:
2246 * 1) If the cast->type has already been loaded AND the type we are adding
2247 * casting info to has not been loaded (it is in this module), THEN we
2248 * replace the cast->type pointer with the type pointer that has already
2249 * been loaded.
2250 * 2) If BOTH types (the one we are adding casting info to, and the
2251 * cast->type) are loaded, THEN the cast info has already been loaded by
2252 * the previous module so we just ignore it.
2253 * 3) Finally, if cast->type has not already been loaded, then we add that
2254 * swig_cast_info to the linked list (because the cast->type) pointer will
2255 * be correct.
2256 * ----------------------------------------------------------------------------- */
2257
2258 #ifdef __cplusplus
2259 extern "C" {
2260 #if 0
2261 } /* c-mode */
2262 #endif
2263 #endif
2264
2265 #if 0
2266 #define SWIGRUNTIME_DEBUG
2267 #endif
2268
2269
2270 SWIGRUNTIME void
SWIG_InitializeModule(void * clientdata)2271 SWIG_InitializeModule(void *clientdata) {
2272 size_t i;
2273 swig_module_info *module_head, *iter;
2274 int init;
2275
2276 /* check to see if the circular list has been setup, if not, set it up */
2277 if (swig_module.next==0) {
2278 /* Initialize the swig_module */
2279 swig_module.type_initial = swig_type_initial;
2280 swig_module.cast_initial = swig_cast_initial;
2281 swig_module.next = &swig_module;
2282 init = 1;
2283 } else {
2284 init = 0;
2285 }
2286
2287 /* Try and load any already created modules */
2288 module_head = SWIG_GetModule(clientdata);
2289 if (!module_head) {
2290 /* This is the first module loaded for this interpreter */
2291 /* so set the swig module into the interpreter */
2292 SWIG_SetModule(clientdata, &swig_module);
2293 } else {
2294 /* the interpreter has loaded a SWIG module, but has it loaded this one? */
2295 iter=module_head;
2296 do {
2297 if (iter==&swig_module) {
2298 /* Our module is already in the list, so there's nothing more to do. */
2299 return;
2300 }
2301 iter=iter->next;
2302 } while (iter!= module_head);
2303
2304 /* otherwise we must add our module into the list */
2305 swig_module.next = module_head->next;
2306 module_head->next = &swig_module;
2307 }
2308
2309 /* When multiple interpreters are used, a module could have already been initialized in
2310 a different interpreter, but not yet have a pointer in this interpreter.
2311 In this case, we do not want to continue adding types... everything should be
2312 set up already */
2313 if (init == 0) return;
2314
2315 /* Now work on filling in swig_module.types */
2316 #ifdef SWIGRUNTIME_DEBUG
2317 printf("SWIG_InitializeModule: size %d\n", swig_module.size);
2318 #endif
2319 for (i = 0; i < swig_module.size; ++i) {
2320 swig_type_info *type = 0;
2321 swig_type_info *ret;
2322 swig_cast_info *cast;
2323
2324 #ifdef SWIGRUNTIME_DEBUG
2325 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
2326 #endif
2327
2328 /* if there is another module already loaded */
2329 if (swig_module.next != &swig_module) {
2330 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
2331 }
2332 if (type) {
2333 /* Overwrite clientdata field */
2334 #ifdef SWIGRUNTIME_DEBUG
2335 printf("SWIG_InitializeModule: found type %s\n", type->name);
2336 #endif
2337 if (swig_module.type_initial[i]->clientdata) {
2338 type->clientdata = swig_module.type_initial[i]->clientdata;
2339 #ifdef SWIGRUNTIME_DEBUG
2340 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
2341 #endif
2342 }
2343 } else {
2344 type = swig_module.type_initial[i];
2345 }
2346
2347 /* Insert casting types */
2348 cast = swig_module.cast_initial[i];
2349 while (cast->type) {
2350 /* Don't need to add information already in the list */
2351 ret = 0;
2352 #ifdef SWIGRUNTIME_DEBUG
2353 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
2354 #endif
2355 if (swig_module.next != &swig_module) {
2356 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
2357 #ifdef SWIGRUNTIME_DEBUG
2358 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
2359 #endif
2360 }
2361 if (ret) {
2362 if (type == swig_module.type_initial[i]) {
2363 #ifdef SWIGRUNTIME_DEBUG
2364 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
2365 #endif
2366 cast->type = ret;
2367 ret = 0;
2368 } else {
2369 /* Check for casting already in the list */
2370 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
2371 #ifdef SWIGRUNTIME_DEBUG
2372 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
2373 #endif
2374 if (!ocast) ret = 0;
2375 }
2376 }
2377
2378 if (!ret) {
2379 #ifdef SWIGRUNTIME_DEBUG
2380 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
2381 #endif
2382 if (type->cast) {
2383 type->cast->prev = cast;
2384 cast->next = type->cast;
2385 }
2386 type->cast = cast;
2387 }
2388 cast++;
2389 }
2390 /* Set entry in modules->types array equal to the type */
2391 swig_module.types[i] = type;
2392 }
2393 swig_module.types[i] = 0;
2394
2395 #ifdef SWIGRUNTIME_DEBUG
2396 printf("**** SWIG_InitializeModule: Cast List ******\n");
2397 for (i = 0; i < swig_module.size; ++i) {
2398 int j = 0;
2399 swig_cast_info *cast = swig_module.cast_initial[i];
2400 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
2401 while (cast->type) {
2402 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
2403 cast++;
2404 ++j;
2405 }
2406 printf("---- Total casts: %d\n",j);
2407 }
2408 printf("**** SWIG_InitializeModule: Cast List ******\n");
2409 #endif
2410 }
2411
2412 /* This function will propagate the clientdata field of type to
2413 * any new swig_type_info structures that have been added into the list
2414 * of equivalent types. It is like calling
2415 * SWIG_TypeClientData(type, clientdata) a second time.
2416 */
2417 SWIGRUNTIME void
SWIG_PropagateClientData(void)2418 SWIG_PropagateClientData(void) {
2419 size_t i;
2420 swig_cast_info *equiv;
2421 static int init_run = 0;
2422
2423 if (init_run) return;
2424 init_run = 1;
2425
2426 for (i = 0; i < swig_module.size; i++) {
2427 if (swig_module.types[i]->clientdata) {
2428 equiv = swig_module.types[i]->cast;
2429 while (equiv) {
2430 if (!equiv->converter) {
2431 if (equiv->type && !equiv->type->clientdata)
2432 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
2433 }
2434 equiv = equiv->next;
2435 }
2436 }
2437 }
2438 }
2439
2440 #ifdef __cplusplus
2441 #if 0
2442 {
2443 /* c-mode */
2444 #endif
2445 }
2446 #endif
2447
2448
2449
2450 #if defined(__cplusplus) && ! defined(XSPROTO)
2451 extern "C"
2452 #endif
2453
XS(SWIG_init)2454 XS(SWIG_init) {
2455 dXSARGS;
2456 int i;
2457
2458 SWIG_InitializeModule(0);
2459
2460 /* Install commands */
2461 for (i = 0; swig_commands[i].name; i++) {
2462 /* Casts only needed for Perl < 5.10. */
2463 #ifdef __cplusplus
2464 newXS(const_cast<char*>(swig_commands[i].name), swig_commands[i].wrapper, const_cast<char*>(__FILE__));
2465 #else
2466 newXS((char*)swig_commands[i].name, swig_commands[i].wrapper, (char*)__FILE__);
2467 #endif
2468 }
2469
2470 /* Install variables */
2471 for (i = 0; swig_variables[i].name; i++) {
2472 SV *sv;
2473 sv = get_sv(swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
2474 if (swig_variables[i].type) {
2475 SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
2476 } else {
2477 sv_setiv(sv,(IV) 0);
2478 }
2479 swig_create_magic(sv, swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
2480 }
2481
2482 /* Install constant */
2483 for (i = 0; swig_constants[i].type; i++) {
2484 SV *sv;
2485 sv = get_sv(swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
2486 switch(swig_constants[i].type) {
2487 case SWIG_INT:
2488 sv_setiv(sv, (IV) swig_constants[i].lvalue);
2489 break;
2490 case SWIG_FLOAT:
2491 sv_setnv(sv, (double) swig_constants[i].dvalue);
2492 break;
2493 case SWIG_STRING:
2494 sv_setpv(sv, (const char *) swig_constants[i].pvalue);
2495 break;
2496 case SWIG_POINTER:
2497 SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
2498 break;
2499 case SWIG_BINARY:
2500 SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
2501 break;
2502 default:
2503 break;
2504 }
2505 SvREADONLY_on(sv);
2506 }
2507
2508 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2509 SV *sv = get_sv((char*) SWIG_prefix "have_feature_support", TRUE | 0x2 | GV_ADDMULTI);
2510 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(have_feature_support)));
2511 SvREADONLY_on(sv);
2512 } while(0) /*@SWIG@*/;
2513 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2514 SV *sv = get_sv((char*) SWIG_prefix "fe_options_auth", TRUE | 0x2 | GV_ADDMULTI);
2515 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_auth)));
2516 SvREADONLY_on(sv);
2517 } while(0) /*@SWIG@*/;
2518 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2519 SV *sv = get_sv((char*) SWIG_prefix "fe_selfcheck_req", TRUE | 0x2 | GV_ADDMULTI);
2520 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_selfcheck_req)));
2521 SvREADONLY_on(sv);
2522 } while(0) /*@SWIG@*/;
2523 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2524 SV *sv = get_sv((char*) SWIG_prefix "fe_selfcheck_req_device", TRUE | 0x2 | GV_ADDMULTI);
2525 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_selfcheck_req_device)));
2526 SvREADONLY_on(sv);
2527 } while(0) /*@SWIG@*/;
2528 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2529 SV *sv = get_sv((char*) SWIG_prefix "fe_selfcheck_rep", TRUE | 0x2 | GV_ADDMULTI);
2530 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_selfcheck_rep)));
2531 SvREADONLY_on(sv);
2532 } while(0) /*@SWIG@*/;
2533 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2534 SV *sv = get_sv((char*) SWIG_prefix "fe_sendsize_req_no_options", TRUE | 0x2 | GV_ADDMULTI);
2535 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendsize_req_no_options)));
2536 SvREADONLY_on(sv);
2537 } while(0) /*@SWIG@*/;
2538 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2539 SV *sv = get_sv((char*) SWIG_prefix "fe_sendsize_req_options", TRUE | 0x2 | GV_ADDMULTI);
2540 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendsize_req_options)));
2541 SvREADONLY_on(sv);
2542 } while(0) /*@SWIG@*/;
2543 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2544 SV *sv = get_sv((char*) SWIG_prefix "fe_sendsize_req_device", TRUE | 0x2 | GV_ADDMULTI);
2545 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendsize_req_device)));
2546 SvREADONLY_on(sv);
2547 } while(0) /*@SWIG@*/;
2548 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2549 SV *sv = get_sv((char*) SWIG_prefix "fe_sendsize_rep", TRUE | 0x2 | GV_ADDMULTI);
2550 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendsize_rep)));
2551 SvREADONLY_on(sv);
2552 } while(0) /*@SWIG@*/;
2553 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2554 SV *sv = get_sv((char*) SWIG_prefix "fe_sendbackup_req", TRUE | 0x2 | GV_ADDMULTI);
2555 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendbackup_req)));
2556 SvREADONLY_on(sv);
2557 } while(0) /*@SWIG@*/;
2558 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2559 SV *sv = get_sv((char*) SWIG_prefix "fe_sendbackup_req_device", TRUE | 0x2 | GV_ADDMULTI);
2560 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendbackup_req_device)));
2561 SvREADONLY_on(sv);
2562 } while(0) /*@SWIG@*/;
2563 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2564 SV *sv = get_sv((char*) SWIG_prefix "fe_sendbackup_rep", TRUE | 0x2 | GV_ADDMULTI);
2565 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendbackup_rep)));
2566 SvREADONLY_on(sv);
2567 } while(0) /*@SWIG@*/;
2568 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2569 SV *sv = get_sv((char*) SWIG_prefix "fe_noop_req", TRUE | 0x2 | GV_ADDMULTI);
2570 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_noop_req)));
2571 SvREADONLY_on(sv);
2572 } while(0) /*@SWIG@*/;
2573 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2574 SV *sv = get_sv((char*) SWIG_prefix "fe_noop_rep", TRUE | 0x2 | GV_ADDMULTI);
2575 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_noop_rep)));
2576 SvREADONLY_on(sv);
2577 } while(0) /*@SWIG@*/;
2578 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2579 SV *sv = get_sv((char*) SWIG_prefix "fe_program_dump", TRUE | 0x2 | GV_ADDMULTI);
2580 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_program_dump)));
2581 SvREADONLY_on(sv);
2582 } while(0) /*@SWIG@*/;
2583 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2584 SV *sv = get_sv((char*) SWIG_prefix "fe_program_gnutar", TRUE | 0x2 | GV_ADDMULTI);
2585 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_program_gnutar)));
2586 SvREADONLY_on(sv);
2587 } while(0) /*@SWIG@*/;
2588 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2589 SV *sv = get_sv((char*) SWIG_prefix "fe_program_application_api", TRUE | 0x2 | GV_ADDMULTI);
2590 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_program_application_api)));
2591 SvREADONLY_on(sv);
2592 } while(0) /*@SWIG@*/;
2593 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2594 SV *sv = get_sv((char*) SWIG_prefix "fe_options_compress_fast", TRUE | 0x2 | GV_ADDMULTI);
2595 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_compress_fast)));
2596 SvREADONLY_on(sv);
2597 } while(0) /*@SWIG@*/;
2598 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2599 SV *sv = get_sv((char*) SWIG_prefix "fe_options_compress_best", TRUE | 0x2 | GV_ADDMULTI);
2600 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_compress_best)));
2601 SvREADONLY_on(sv);
2602 } while(0) /*@SWIG@*/;
2603 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2604 SV *sv = get_sv((char*) SWIG_prefix "fe_options_srvcomp_fast", TRUE | 0x2 | GV_ADDMULTI);
2605 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_srvcomp_fast)));
2606 SvREADONLY_on(sv);
2607 } while(0) /*@SWIG@*/;
2608 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2609 SV *sv = get_sv((char*) SWIG_prefix "fe_options_srvcomp_best", TRUE | 0x2 | GV_ADDMULTI);
2610 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_srvcomp_best)));
2611 SvREADONLY_on(sv);
2612 } while(0) /*@SWIG@*/;
2613 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2614 SV *sv = get_sv((char*) SWIG_prefix "fe_options_no_record", TRUE | 0x2 | GV_ADDMULTI);
2615 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_no_record)));
2616 SvREADONLY_on(sv);
2617 } while(0) /*@SWIG@*/;
2618 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2619 SV *sv = get_sv((char*) SWIG_prefix "fe_options_index", TRUE | 0x2 | GV_ADDMULTI);
2620 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_index)));
2621 SvREADONLY_on(sv);
2622 } while(0) /*@SWIG@*/;
2623 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2624 SV *sv = get_sv((char*) SWIG_prefix "fe_options_exclude_file", TRUE | 0x2 | GV_ADDMULTI);
2625 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_exclude_file)));
2626 SvREADONLY_on(sv);
2627 } while(0) /*@SWIG@*/;
2628 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2629 SV *sv = get_sv((char*) SWIG_prefix "fe_options_exclude_list", TRUE | 0x2 | GV_ADDMULTI);
2630 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_exclude_list)));
2631 SvREADONLY_on(sv);
2632 } while(0) /*@SWIG@*/;
2633 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2634 SV *sv = get_sv((char*) SWIG_prefix "fe_options_multiple_exclude", TRUE | 0x2 | GV_ADDMULTI);
2635 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_multiple_exclude)));
2636 SvREADONLY_on(sv);
2637 } while(0) /*@SWIG@*/;
2638 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2639 SV *sv = get_sv((char*) SWIG_prefix "fe_options_optional_exclude", TRUE | 0x2 | GV_ADDMULTI);
2640 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_optional_exclude)));
2641 SvREADONLY_on(sv);
2642 } while(0) /*@SWIG@*/;
2643 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2644 SV *sv = get_sv((char*) SWIG_prefix "fe_options_include_file", TRUE | 0x2 | GV_ADDMULTI);
2645 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_include_file)));
2646 SvREADONLY_on(sv);
2647 } while(0) /*@SWIG@*/;
2648 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2649 SV *sv = get_sv((char*) SWIG_prefix "fe_options_include_list", TRUE | 0x2 | GV_ADDMULTI);
2650 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_include_list)));
2651 SvREADONLY_on(sv);
2652 } while(0) /*@SWIG@*/;
2653 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2654 SV *sv = get_sv((char*) SWIG_prefix "fe_options_multiple_include", TRUE | 0x2 | GV_ADDMULTI);
2655 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_multiple_include)));
2656 SvREADONLY_on(sv);
2657 } while(0) /*@SWIG@*/;
2658 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2659 SV *sv = get_sv((char*) SWIG_prefix "fe_options_optional_include", TRUE | 0x2 | GV_ADDMULTI);
2660 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_optional_include)));
2661 SvREADONLY_on(sv);
2662 } while(0) /*@SWIG@*/;
2663 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2664 SV *sv = get_sv((char*) SWIG_prefix "fe_options_bsd_auth", TRUE | 0x2 | GV_ADDMULTI);
2665 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_bsd_auth)));
2666 SvREADONLY_on(sv);
2667 } while(0) /*@SWIG@*/;
2668 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2669 SV *sv = get_sv((char*) SWIG_prefix "fe_options_krb4_auth", TRUE | 0x2 | GV_ADDMULTI);
2670 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_krb4_auth)));
2671 SvREADONLY_on(sv);
2672 } while(0) /*@SWIG@*/;
2673 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2674 SV *sv = get_sv((char*) SWIG_prefix "fe_options_kencrypt", TRUE | 0x2 | GV_ADDMULTI);
2675 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_kencrypt)));
2676 SvREADONLY_on(sv);
2677 } while(0) /*@SWIG@*/;
2678 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2679 SV *sv = get_sv((char*) SWIG_prefix "fe_req_options_maxdumps", TRUE | 0x2 | GV_ADDMULTI);
2680 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_req_options_maxdumps)));
2681 SvREADONLY_on(sv);
2682 } while(0) /*@SWIG@*/;
2683 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2684 SV *sv = get_sv((char*) SWIG_prefix "fe_req_options_hostname", TRUE | 0x2 | GV_ADDMULTI);
2685 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_req_options_hostname)));
2686 SvREADONLY_on(sv);
2687 } while(0) /*@SWIG@*/;
2688 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2689 SV *sv = get_sv((char*) SWIG_prefix "fe_req_options_features", TRUE | 0x2 | GV_ADDMULTI);
2690 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_req_options_features)));
2691 SvREADONLY_on(sv);
2692 } while(0) /*@SWIG@*/;
2693 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2694 SV *sv = get_sv((char*) SWIG_prefix "fe_rep_options_maxdumps", TRUE | 0x2 | GV_ADDMULTI);
2695 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_rep_options_maxdumps)));
2696 SvREADONLY_on(sv);
2697 } while(0) /*@SWIG@*/;
2698 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2699 SV *sv = get_sv((char*) SWIG_prefix "fe_rep_options_hostname", TRUE | 0x2 | GV_ADDMULTI);
2700 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_rep_options_hostname)));
2701 SvREADONLY_on(sv);
2702 } while(0) /*@SWIG@*/;
2703 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2704 SV *sv = get_sv((char*) SWIG_prefix "fe_rep_options_features", TRUE | 0x2 | GV_ADDMULTI);
2705 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_rep_options_features)));
2706 SvREADONLY_on(sv);
2707 } while(0) /*@SWIG@*/;
2708 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2709 SV *sv = get_sv((char*) SWIG_prefix "fe_rep_options_sendbackup_options", TRUE | 0x2 | GV_ADDMULTI);
2710 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_rep_options_sendbackup_options)));
2711 SvREADONLY_on(sv);
2712 } while(0) /*@SWIG@*/;
2713 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2714 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_fileno_in_OLSD", TRUE | 0x2 | GV_ADDMULTI);
2715 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_fileno_in_OLSD)));
2716 SvREADONLY_on(sv);
2717 } while(0) /*@SWIG@*/;
2718 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2719 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_fileno_in_ORLD", TRUE | 0x2 | GV_ADDMULTI);
2720 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_fileno_in_ORLD)));
2721 SvREADONLY_on(sv);
2722 } while(0) /*@SWIG@*/;
2723 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2724 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_fsf", TRUE | 0x2 | GV_ADDMULTI);
2725 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_fsf)));
2726 SvREADONLY_on(sv);
2727 } while(0) /*@SWIG@*/;
2728 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2729 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_label", TRUE | 0x2 | GV_ADDMULTI);
2730 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_label)));
2731 SvREADONLY_on(sv);
2732 } while(0) /*@SWIG@*/;
2733 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2734 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_device", TRUE | 0x2 | GV_ADDMULTI);
2735 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_device)));
2736 SvREADONLY_on(sv);
2737 } while(0) /*@SWIG@*/;
2738 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2739 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_host", TRUE | 0x2 | GV_ADDMULTI);
2740 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_host)));
2741 SvREADONLY_on(sv);
2742 } while(0) /*@SWIG@*/;
2743 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2744 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_disk", TRUE | 0x2 | GV_ADDMULTI);
2745 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_disk)));
2746 SvREADONLY_on(sv);
2747 } while(0) /*@SWIG@*/;
2748 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2749 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_datestamp", TRUE | 0x2 | GV_ADDMULTI);
2750 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_datestamp)));
2751 SvREADONLY_on(sv);
2752 } while(0) /*@SWIG@*/;
2753 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2754 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_header", TRUE | 0x2 | GV_ADDMULTI);
2755 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_header)));
2756 SvREADONLY_on(sv);
2757 } while(0) /*@SWIG@*/;
2758 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2759 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_nargs", TRUE | 0x2 | GV_ADDMULTI);
2760 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_nargs)));
2761 SvREADONLY_on(sv);
2762 } while(0) /*@SWIG@*/;
2763 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2764 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_config", TRUE | 0x2 | GV_ADDMULTI);
2765 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_config)));
2766 SvREADONLY_on(sv);
2767 } while(0) /*@SWIG@*/;
2768 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2769 SV *sv = get_sv((char*) SWIG_prefix "fe_partial_estimate", TRUE | 0x2 | GV_ADDMULTI);
2770 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_partial_estimate)));
2771 SvREADONLY_on(sv);
2772 } while(0) /*@SWIG@*/;
2773 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2774 SV *sv = get_sv((char*) SWIG_prefix "fe_calcsize_estimate", TRUE | 0x2 | GV_ADDMULTI);
2775 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_calcsize_estimate)));
2776 SvREADONLY_on(sv);
2777 } while(0) /*@SWIG@*/;
2778 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2779 SV *sv = get_sv((char*) SWIG_prefix "fe_selfcheck_calcsize", TRUE | 0x2 | GV_ADDMULTI);
2780 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_selfcheck_calcsize)));
2781 SvREADONLY_on(sv);
2782 } while(0) /*@SWIG@*/;
2783 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2784 SV *sv = get_sv((char*) SWIG_prefix "fe_recover_splits", TRUE | 0x2 | GV_ADDMULTI);
2785 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_recover_splits)));
2786 SvREADONLY_on(sv);
2787 } while(0) /*@SWIG@*/;
2788 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2789 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_exchange_features", TRUE | 0x2 | GV_ADDMULTI);
2790 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_exchange_features)));
2791 SvREADONLY_on(sv);
2792 } while(0) /*@SWIG@*/;
2793 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2794 SV *sv = get_sv((char*) SWIG_prefix "fe_options_compress_cust", TRUE | 0x2 | GV_ADDMULTI);
2795 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_compress_cust)));
2796 SvREADONLY_on(sv);
2797 } while(0) /*@SWIG@*/;
2798 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2799 SV *sv = get_sv((char*) SWIG_prefix "fe_options_srvcomp_cust", TRUE | 0x2 | GV_ADDMULTI);
2800 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_srvcomp_cust)));
2801 SvREADONLY_on(sv);
2802 } while(0) /*@SWIG@*/;
2803 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2804 SV *sv = get_sv((char*) SWIG_prefix "fe_options_encrypt_cust", TRUE | 0x2 | GV_ADDMULTI);
2805 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_encrypt_cust)));
2806 SvREADONLY_on(sv);
2807 } while(0) /*@SWIG@*/;
2808 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2809 SV *sv = get_sv((char*) SWIG_prefix "fe_options_encrypt_serv_cust", TRUE | 0x2 | GV_ADDMULTI);
2810 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_encrypt_serv_cust)));
2811 SvREADONLY_on(sv);
2812 } while(0) /*@SWIG@*/;
2813 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2814 SV *sv = get_sv((char*) SWIG_prefix "fe_options_client_decrypt_option", TRUE | 0x2 | GV_ADDMULTI);
2815 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_client_decrypt_option)));
2816 SvREADONLY_on(sv);
2817 } while(0) /*@SWIG@*/;
2818 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2819 SV *sv = get_sv((char*) SWIG_prefix "fe_options_server_decrypt_option", TRUE | 0x2 | GV_ADDMULTI);
2820 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_options_server_decrypt_option)));
2821 SvREADONLY_on(sv);
2822 } while(0) /*@SWIG@*/;
2823 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2824 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_marshall_in_OLSD", TRUE | 0x2 | GV_ADDMULTI);
2825 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_marshall_in_OLSD)));
2826 SvREADONLY_on(sv);
2827 } while(0) /*@SWIG@*/;
2828 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2829 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_marshall_in_ORLD", TRUE | 0x2 | GV_ADDMULTI);
2830 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_marshall_in_ORLD)));
2831 SvREADONLY_on(sv);
2832 } while(0) /*@SWIG@*/;
2833 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2834 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_marshall_in_DHST", TRUE | 0x2 | GV_ADDMULTI);
2835 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_marshall_in_DHST)));
2836 SvREADONLY_on(sv);
2837 } while(0) /*@SWIG@*/;
2838 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2839 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_FEEDME", TRUE | 0x2 | GV_ADDMULTI);
2840 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_FEEDME)));
2841 SvREADONLY_on(sv);
2842 } while(0) /*@SWIG@*/;
2843 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2844 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_timestamp", TRUE | 0x2 | GV_ADDMULTI);
2845 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_timestamp)));
2846 SvREADONLY_on(sv);
2847 } while(0) /*@SWIG@*/;
2848 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2849 SV *sv = get_sv((char*) SWIG_prefix "fe_interface_quoted_text", TRUE | 0x2 | GV_ADDMULTI);
2850 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_interface_quoted_text)));
2851 SvREADONLY_on(sv);
2852 } while(0) /*@SWIG@*/;
2853 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2854 SV *sv = get_sv((char*) SWIG_prefix "fe_program_star", TRUE | 0x2 | GV_ADDMULTI);
2855 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_program_star)));
2856 SvREADONLY_on(sv);
2857 } while(0) /*@SWIG@*/;
2858 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2859 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_options_hostname", TRUE | 0x2 | GV_ADDMULTI);
2860 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_options_hostname)));
2861 SvREADONLY_on(sv);
2862 } while(0) /*@SWIG@*/;
2863 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2864 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_options_features", TRUE | 0x2 | GV_ADDMULTI);
2865 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_options_features)));
2866 SvREADONLY_on(sv);
2867 } while(0) /*@SWIG@*/;
2868 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2869 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_options_auth", TRUE | 0x2 | GV_ADDMULTI);
2870 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_options_auth)));
2871 SvREADONLY_on(sv);
2872 } while(0) /*@SWIG@*/;
2873 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2874 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_options_hostname", TRUE | 0x2 | GV_ADDMULTI);
2875 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_options_hostname)));
2876 SvREADONLY_on(sv);
2877 } while(0) /*@SWIG@*/;
2878 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2879 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_options_features", TRUE | 0x2 | GV_ADDMULTI);
2880 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_options_features)));
2881 SvREADONLY_on(sv);
2882 } while(0) /*@SWIG@*/;
2883 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2884 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_options_auth", TRUE | 0x2 | GV_ADDMULTI);
2885 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_options_auth)));
2886 SvREADONLY_on(sv);
2887 } while(0) /*@SWIG@*/;
2888 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2889 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_message", TRUE | 0x2 | GV_ADDMULTI);
2890 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_message)));
2891 SvREADONLY_on(sv);
2892 } while(0) /*@SWIG@*/;
2893 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2894 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_feedme_tape", TRUE | 0x2 | GV_ADDMULTI);
2895 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_feedme_tape)));
2896 SvREADONLY_on(sv);
2897 } while(0) /*@SWIG@*/;
2898 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2899 SV *sv = get_sv((char*) SWIG_prefix "fe_req_options_config", TRUE | 0x2 | GV_ADDMULTI);
2900 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_req_options_config)));
2901 SvREADONLY_on(sv);
2902 } while(0) /*@SWIG@*/;
2903 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2904 SV *sv = get_sv((char*) SWIG_prefix "fe_rep_sendsize_quoted_error", TRUE | 0x2 | GV_ADDMULTI);
2905 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_rep_sendsize_quoted_error)));
2906 SvREADONLY_on(sv);
2907 } while(0) /*@SWIG@*/;
2908 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2909 SV *sv = get_sv((char*) SWIG_prefix "fe_req_xml", TRUE | 0x2 | GV_ADDMULTI);
2910 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_req_xml)));
2911 SvREADONLY_on(sv);
2912 } while(0) /*@SWIG@*/;
2913 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2914 SV *sv = get_sv((char*) SWIG_prefix "fe_pp_script", TRUE | 0x2 | GV_ADDMULTI);
2915 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_pp_script)));
2916 SvREADONLY_on(sv);
2917 } while(0) /*@SWIG@*/;
2918 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2919 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_DLE", TRUE | 0x2 | GV_ADDMULTI);
2920 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_DLE)));
2921 SvREADONLY_on(sv);
2922 } while(0) /*@SWIG@*/;
2923 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2924 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_dle_in_header", TRUE | 0x2 | GV_ADDMULTI);
2925 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_dle_in_header)));
2926 SvREADONLY_on(sv);
2927 } while(0) /*@SWIG@*/;
2928 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2929 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_estimate", TRUE | 0x2 | GV_ADDMULTI);
2930 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_estimate)));
2931 SvREADONLY_on(sv);
2932 } while(0) /*@SWIG@*/;
2933 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2934 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_property_priority", TRUE | 0x2 | GV_ADDMULTI);
2935 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_property_priority)));
2936 SvREADONLY_on(sv);
2937 } while(0) /*@SWIG@*/;
2938 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2939 SV *sv = get_sv((char*) SWIG_prefix "fe_sendsize_rep_warning", TRUE | 0x2 | GV_ADDMULTI);
2940 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendsize_rep_warning)));
2941 SvREADONLY_on(sv);
2942 } while(0) /*@SWIG@*/;
2943 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2944 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_estimatelist", TRUE | 0x2 | GV_ADDMULTI);
2945 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_estimatelist)));
2946 SvREADONLY_on(sv);
2947 } while(0) /*@SWIG@*/;
2948 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2949 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_level_server", TRUE | 0x2 | GV_ADDMULTI);
2950 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_level_server)));
2951 SvREADONLY_on(sv);
2952 } while(0) /*@SWIG@*/;
2953 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2954 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_data_path", TRUE | 0x2 | GV_ADDMULTI);
2955 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_data_path)));
2956 SvREADONLY_on(sv);
2957 } while(0) /*@SWIG@*/;
2958 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2959 SV *sv = get_sv((char*) SWIG_prefix "fe_xml_directtcp_list", TRUE | 0x2 | GV_ADDMULTI);
2960 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_xml_directtcp_list)));
2961 SvREADONLY_on(sv);
2962 } while(0) /*@SWIG@*/;
2963 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2964 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_datapath", TRUE | 0x2 | GV_ADDMULTI);
2965 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_datapath)));
2966 SvREADONLY_on(sv);
2967 } while(0) /*@SWIG@*/;
2968 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2969 SV *sv = get_sv((char*) SWIG_prefix "fe_sendbackup_noop", TRUE | 0x2 | GV_ADDMULTI);
2970 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendbackup_noop)));
2971 SvREADONLY_on(sv);
2972 } while(0) /*@SWIG@*/;
2973 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2974 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_origsize_in_header", TRUE | 0x2 | GV_ADDMULTI);
2975 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_origsize_in_header)));
2976 SvREADONLY_on(sv);
2977 } while(0) /*@SWIG@*/;
2978 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2979 SV *sv = get_sv((char*) SWIG_prefix "fe_amidxtaped_abort", TRUE | 0x2 | GV_ADDMULTI);
2980 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amidxtaped_abort)));
2981 SvREADONLY_on(sv);
2982 } while(0) /*@SWIG@*/;
2983 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2984 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_correct_disk_quoting", TRUE | 0x2 | GV_ADDMULTI);
2985 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_correct_disk_quoting)));
2986 SvREADONLY_on(sv);
2987 } while(0) /*@SWIG@*/;
2988 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2989 SV *sv = get_sv((char*) SWIG_prefix "fe_amindexd_quote_label", TRUE | 0x2 | GV_ADDMULTI);
2990 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amindexd_quote_label)));
2991 SvREADONLY_on(sv);
2992 } while(0) /*@SWIG@*/;
2993 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2994 SV *sv = get_sv((char*) SWIG_prefix "fe_amrecover_receive_unfiltered", TRUE | 0x2 | GV_ADDMULTI);
2995 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_amrecover_receive_unfiltered)));
2996 SvREADONLY_on(sv);
2997 } while(0) /*@SWIG@*/;
2998 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
2999 SV *sv = get_sv((char*) SWIG_prefix "fe_application_client_name", TRUE | 0x2 | GV_ADDMULTI);
3000 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_application_client_name)));
3001 SvREADONLY_on(sv);
3002 } while(0) /*@SWIG@*/;
3003 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
3004 SV *sv = get_sv((char*) SWIG_prefix "fe_script_client_name", TRUE | 0x2 | GV_ADDMULTI);
3005 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_script_client_name)));
3006 SvREADONLY_on(sv);
3007 } while(0) /*@SWIG@*/;
3008 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
3009 SV *sv = get_sv((char*) SWIG_prefix "fe_dumptype_property", TRUE | 0x2 | GV_ADDMULTI);
3010 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_dumptype_property)));
3011 SvREADONLY_on(sv);
3012 } while(0) /*@SWIG@*/;
3013 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
3014 SV *sv = get_sv((char*) SWIG_prefix "fe_sendbackup_state", TRUE | 0x2 | GV_ADDMULTI);
3015 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(fe_sendbackup_state)));
3016 SvREADONLY_on(sv);
3017 } while(0) /*@SWIG@*/;
3018 /*@SWIG:/usr/share/swig/3.0.7/perl5/perltypemaps.swg,65,%set_constant@*/ do {
3019 SV *sv = get_sv((char*) SWIG_prefix "last_feature", TRUE | 0x2 | GV_ADDMULTI);
3020 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(last_feature)));
3021 SvREADONLY_on(sv);
3022 } while(0) /*@SWIG@*/;
3023 SWIG_TypeClientData(SWIGTYPE_p_Set, (void*) "Amanda::Feature::Set");
3024 ST(0) = &PL_sv_yes;
3025 XSRETURN(1);
3026 }
3027
3028