1 /* ----------------------------------------------------------------------------
2 * This file was automatically generated by SWIG (http://www.swig.org).
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 * ----------------------------------------------------------------------------- */
11 #include "../config/config.h"
15 #define SWIG_CASTRANK_MODE
17 /* -----------------------------------------------------------------------------
18 * This section contains generic SWIG labels for method/variable
19 * declarations/attributes, and other compiler dependent labels.
20 * ----------------------------------------------------------------------------- */
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
31 # define SWIGTEMPLATEDISAMBIGUATOR
35 /* inline attribute */
37 # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
38 # define SWIGINLINE inline
44 /* attribute recognised by some compilers to avoid 'unused' warnings */
46 # if defined(__GNUC__)
47 # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
48 # define SWIGUNUSED __attribute__ ((__unused__))
53 # define SWIGUNUSED __attribute__ ((__unused__))
59 #ifndef SWIG_MSC_UNSUPPRESS_4505
60 # if defined(_MSC_VER)
61 # pragma warning(disable : 4505) /* unreferenced local function has been removed */
65 #ifndef SWIGUNUSEDPARM
67 # define SWIGUNUSEDPARM(p)
69 # define SWIGUNUSEDPARM(p) p SWIGUNUSED
73 /* internal SWIG method */
75 # define SWIGINTERN static SWIGUNUSED
78 /* internal inline SWIG method */
79 #ifndef SWIGINTERNINLINE
80 # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
83 /* exporting methods */
84 #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
85 # ifndef GCC_HASCLASSVISIBILITY
86 # define GCC_HASCLASSVISIBILITY
91 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
92 # if defined(STATIC_LINKED)
95 # define SWIGEXPORT __declspec(dllexport)
98 # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
99 # define SWIGEXPORT __attribute__ ((visibility("default")))
106 /* calling conventions for Windows */
108 # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
109 # define SWIGSTDCALL __stdcall
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
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
126 /* -----------------------------------------------------------------------------
129 * This file contains generic C API SWIG runtime support for pointer
131 * ----------------------------------------------------------------------------- */
133 /* This should only be incremented when either the layout of swig_type_info changes,
134 or for whatever reason, the runtime changes incompatibly */
135 #define SWIG_RUNTIME_VERSION "4"
137 /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
138 #ifdef SWIG_TYPE_TABLE
139 # define SWIG_QUOTE_STRING(x) #x
140 # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
141 # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
143 # define SWIG_TYPE_TABLE_NAME
147 You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
148 creating a static or dynamic library from the SWIG runtime code.
149 In 99.9% of the cases, SWIG just needs to declare them as 'static'.
151 But only do this if strictly necessary, ie, if you have problems
152 with your compiler or suchlike.
156 # define SWIGRUNTIME SWIGINTERN
159 #ifndef SWIGRUNTIMEINLINE
160 # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
163 /* Generic buffer size */
164 #ifndef SWIG_BUFFER_SIZE
165 # define SWIG_BUFFER_SIZE 1024
168 /* Flags for pointer conversions */
169 #define SWIG_POINTER_DISOWN 0x1
170 #define SWIG_CAST_NEW_MEMORY 0x2
172 /* Flags for new pointer objects */
173 #define SWIG_POINTER_OWN 0x1
177 Flags/methods for returning states.
179 The SWIG conversion methods, as ConvertPtr, return and integer
180 that tells if the conversion was successful or not. And if not,
181 an error code can be returned (see swigerrors.swg for the codes).
183 Use the following macros/flags to set or process the returning
186 In old versions of SWIG, code such as the following was usually written:
188 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
194 Now you can be more explicit:
196 int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
197 if (SWIG_IsOK(res)) {
203 which is the same really, but now you can also do
206 int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
207 if (SWIG_IsOK(res)) {
209 if (SWIG_IsNewObj(res) {
219 I.e., now SWIG_ConvertPtr can return new objects and you can
220 identify the case and take care of the deallocation. Of course that
221 also requires SWIG_ConvertPtr to return new result values, such as
223 int SWIG_ConvertPtr(obj, ptr,...) {
225 if (<need new object>) {
226 *ptr = <ptr to new allocated object>;
229 *ptr = <ptr to old object>;
237 Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
238 more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
241 Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
242 allows to return the 'cast rank', for example, if you have this
249 food(1) // cast rank '1' (1 -> 1.0)
250 fooi(1) // cast rank '0'
252 just use the SWIG_AddCast()/SWIG_CheckState()
256 #define SWIG_ERROR (-1)
257 #define SWIG_IsOK(r) (r >= 0)
258 #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError)
260 /* The CastRankLimit says how many bits are used for the cast rank */
261 #define SWIG_CASTRANKLIMIT (1 << 8)
262 /* The NewMask denotes the object was created (using new/malloc) */
263 #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1)
264 /* The TmpMask is for in/out typemaps that use temporal objects */
265 #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1)
266 /* Simple returning values */
267 #define SWIG_BADOBJ (SWIG_ERROR)
268 #define SWIG_OLDOBJ (SWIG_OK)
269 #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK)
270 #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK)
271 /* Check, add and del mask methods */
272 #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
273 #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
274 #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
275 #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
276 #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
277 #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
280 #if defined(SWIG_CASTRANK_MODE)
281 # ifndef SWIG_TypeRank
282 # define SWIG_TypeRank unsigned long
284 # ifndef SWIG_MAXCASTRANK /* Default cast allowed */
285 # define SWIG_MAXCASTRANK (2)
287 # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1)
288 # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK)
289 SWIGINTERNINLINE int SWIG_AddCast(int r) {
290 return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
292 SWIGINTERNINLINE int SWIG_CheckState(int r) {
293 return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
295 #else /* no cast-rank mode */
296 # define SWIG_AddCast
297 # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
307 typedef void *(*swig_converter_func)(void *, int *);
308 typedef struct swig_type_info *(*swig_dycast_func)(void **);
310 /* Structure to store information on one type */
311 typedef struct swig_type_info {
312 const char *name; /* mangled name of this type */
313 const char *str; /* human readable name of this type */
314 swig_dycast_func dcast; /* dynamic cast function down a hierarchy */
315 struct swig_cast_info *cast; /* linked list of types that can cast into this type */
316 void *clientdata; /* language specific type data */
317 int owndata; /* flag if the structure owns the clientdata */
320 /* Structure to store a type and conversion function used for casting */
321 typedef struct swig_cast_info {
322 swig_type_info *type; /* pointer to type that is equivalent to this type */
323 swig_converter_func converter; /* function to cast the void pointers */
324 struct swig_cast_info *next; /* pointer to next cast in linked list */
325 struct swig_cast_info *prev; /* pointer to the previous cast */
328 /* Structure used to store module information
329 * Each module generates one structure like this, and the runtime collects
330 * all of these structures and stores them in a circularly linked list.*/
331 typedef struct swig_module_info {
332 swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */
333 size_t size; /* Number of types in this module */
334 struct swig_module_info *next; /* Pointer to next element in circularly linked list */
335 swig_type_info **type_initial; /* Array of initially generated type structures */
336 swig_cast_info **cast_initial; /* Array of initially generated casting structures */
337 void *clientdata; /* Language specific module data */
341 Compare two type names skipping the space characters, therefore
342 "char*" == "char *" and "Class<int>" == "Class<int >", etc.
344 Return 0 when the two name types are equivalent, as in
345 strncmp, but skipping ' '.
348 SWIG_TypeNameComp(const char *f1, const char *l1,
349 const char *f2, const char *l2) {
350 for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
351 while ((*f1 == ' ') && (f1 != l1)) ++f1;
352 while ((*f2 == ' ') && (f2 != l2)) ++f2;
353 if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
355 return (int)((l1 - f1) - (l2 - f2));
359 Check type equivalence in a name list like <name1>|<name2>|...
360 Return 0 if not equal, 1 if equal
363 SWIG_TypeEquiv(const char *nb, const char *tb) {
365 const char* te = tb + strlen(tb);
367 while (!equiv && *ne) {
368 for (nb = ne; *ne; ++ne) {
369 if (*ne == '|') break;
371 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
378 Check type equivalence in a name list like <name1>|<name2>|...
379 Return 0 if equal, -1 if nb < tb, 1 if nb > tb
382 SWIG_TypeCompare(const char *nb, const char *tb) {
384 const char* te = tb + strlen(tb);
386 while (!equiv && *ne) {
387 for (nb = ne; *ne; ++ne) {
388 if (*ne == '|') break;
390 equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
400 SWIGRUNTIME swig_cast_info *
401 SWIG_TypeCheck(const char *c, swig_type_info *ty) {
403 swig_cast_info *iter = ty->cast;
405 if (strcmp(iter->type->name, c) == 0) {
406 if (iter == ty->cast)
408 /* Move iter to the top of the linked list */
409 iter->prev->next = iter->next;
411 iter->next->prev = iter->prev;
412 iter->next = ty->cast;
414 if (ty->cast) ty->cast->prev = iter;
425 Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
427 SWIGRUNTIME swig_cast_info *
428 SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
430 swig_cast_info *iter = ty->cast;
432 if (iter->type == from) {
433 if (iter == ty->cast)
435 /* Move iter to the top of the linked list */
436 iter->prev->next = iter->next;
438 iter->next->prev = iter->prev;
439 iter->next = ty->cast;
441 if (ty->cast) ty->cast->prev = iter;
452 Cast a pointer up an inheritance hierarchy
454 SWIGRUNTIMEINLINE void *
455 SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
456 return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
460 Dynamic pointer casting. Down an inheritance hierarchy
462 SWIGRUNTIME swig_type_info *
463 SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
464 swig_type_info *lastty = ty;
465 if (!ty || !ty->dcast) return ty;
466 while (ty && (ty->dcast)) {
467 ty = (*ty->dcast)(ptr);
474 Return the name associated with this type
476 SWIGRUNTIMEINLINE const char *
477 SWIG_TypeName(const swig_type_info *ty) {
482 Return the pretty name associated with this type,
483 that is an unmangled type name in a form presentable to the user.
485 SWIGRUNTIME const char *
486 SWIG_TypePrettyName(const swig_type_info *type) {
487 /* The "str" field contains the equivalent pretty names of the
488 type, separated by vertical-bar characters. We choose
489 to print the last name, as it is often (?) the most
491 if (!type) return NULL;
492 if (type->str != NULL) {
493 const char *last_name = type->str;
495 for (s = type->str; *s; s++)
496 if (*s == '|') last_name = s+1;
504 Set the clientdata field for a type
507 SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
508 swig_cast_info *cast = ti->cast;
509 /* if (ti->clientdata == clientdata) return; */
510 ti->clientdata = clientdata;
513 if (!cast->converter) {
514 swig_type_info *tc = cast->type;
515 if (!tc->clientdata) {
516 SWIG_TypeClientData(tc, clientdata);
523 SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
524 SWIG_TypeClientData(ti, clientdata);
529 Search for a swig_type_info structure only by mangled name
530 Search is a O(log #types)
532 We start searching at module start, and finish searching when start == end.
533 Note: if start == end at the beginning of the function, we go all the way around
536 SWIGRUNTIME swig_type_info *
537 SWIG_MangledTypeQueryModule(swig_module_info *start,
538 swig_module_info *end,
540 swig_module_info *iter = start;
543 register size_t l = 0;
544 register size_t r = iter->size - 1;
546 /* since l+r >= 0, we can (>> 1) instead (/ 2) */
547 register size_t i = (l + r) >> 1;
548 const char *iname = iter->types[i]->name;
550 register int compare = strcmp(name, iname);
552 return iter->types[i];
553 } else if (compare < 0) {
559 } else if (compare > 0) {
563 break; /* should never happen */
568 } while (iter != end);
573 Search for a swig_type_info structure for either a mangled name or a human readable name.
574 It first searches the mangled names of the types, which is a O(log #types)
575 If a type is not found it then searches the human readable names, which is O(#types).
577 We start searching at module start, and finish searching when start == end.
578 Note: if start == end at the beginning of the function, we go all the way around
581 SWIGRUNTIME swig_type_info *
582 SWIG_TypeQueryModule(swig_module_info *start,
583 swig_module_info *end,
585 /* STEP 1: Search the name field using binary search */
586 swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
590 /* STEP 2: If the type hasn't been found, do a complete search
591 of the str field (the human readable name) */
592 swig_module_info *iter = start;
594 register size_t i = 0;
595 for (; i < iter->size; ++i) {
596 if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
597 return iter->types[i];
600 } while (iter != end);
603 /* neither found a match */
608 Pack binary data into a string
611 SWIG_PackData(char *c, void *ptr, size_t sz) {
612 static const char hex[17] = "0123456789abcdef";
613 register const unsigned char *u = (unsigned char *) ptr;
614 register const unsigned char *eu = u + sz;
615 for (; u != eu; ++u) {
616 register unsigned char uu = *u;
617 *(c++) = hex[(uu & 0xf0) >> 4];
618 *(c++) = hex[uu & 0xf];
624 Unpack binary data from a string
626 SWIGRUNTIME const char *
627 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
628 register unsigned char *u = (unsigned char *) ptr;
629 register const unsigned char *eu = u + sz;
630 for (; u != eu; ++u) {
631 register char d = *(c++);
632 register unsigned char uu;
633 if ((d >= '0') && (d <= '9'))
634 uu = ((d - '0') << 4);
635 else if ((d >= 'a') && (d <= 'f'))
636 uu = ((d - ('a'-10)) << 4);
640 if ((d >= '0') && (d <= '9'))
642 else if ((d >= 'a') && (d <= 'f'))
643 uu |= (d - ('a'-10));
652 Pack 'void *' into a string buffer.
655 SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
657 if ((2*sizeof(void *) + 2) > bsz) return 0;
659 r = SWIG_PackData(r,&ptr,sizeof(void *));
660 if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
665 SWIGRUNTIME const char *
666 SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
668 if (strcmp(c,"NULL") == 0) {
675 return SWIG_UnpackData(++c,ptr,sizeof(void *));
679 SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
681 size_t lname = (name ? strlen(name) : 0);
682 if ((2*sz + 2 + lname) > bsz) return 0;
684 r = SWIG_PackData(r,ptr,sz);
686 strncpy(r,name,lname+1);
693 SWIGRUNTIME const char *
694 SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
696 if (strcmp(c,"NULL") == 0) {
703 return SWIG_UnpackData(++c,ptr,sz);
711 #define SWIG_UnknownError -1
712 #define SWIG_IOError -2
713 #define SWIG_RuntimeError -3
714 #define SWIG_IndexError -4
715 #define SWIG_TypeError -5
716 #define SWIG_DivisionByZero -6
717 #define SWIG_OverflowError -7
718 #define SWIG_SyntaxError -8
719 #define SWIG_ValueError -9
720 #define SWIG_SystemError -10
721 #define SWIG_AttributeError -11
722 #define SWIG_MemoryError -12
723 #define SWIG_NullReferenceError -13
728 /* Needed on some windows machines---since MS plays funny games with the header files under C++ */
737 /* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */
739 /* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
740 #ifndef PERL_REVISION
741 # if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
742 # define PERL_PATCHLEVEL_H_IMPLICIT
743 # include <patchlevel.h>
745 # if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
746 # include <could_not_find_Perl_patchlevel.h>
748 # ifndef PERL_REVISION
749 # define PERL_REVISION (5)
750 # define PERL_VERSION PATCHLEVEL
751 # define PERL_SUBVERSION SUBVERSION
755 #if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
756 #define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
760 # define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
764 # define SvUOK(sv) SvIOK_UV(sv)
767 #if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
768 # define PL_sv_undef sv_undef
770 # define PL_errgv errgv
771 # define PL_sv_no sv_no
772 # define PL_sv_yes sv_yes
773 # define PL_markstack_ptr markstack_ptr
778 # define IVSIZE LONGSIZE
780 # define IVSIZE 4 /* A bold guess, but the best we can make. */
785 # if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
787 # define INT2PTR(any,d) (any)(d)
789 # if PTRSIZE == LONGSIZE
790 # define PTRV unsigned long
792 # define PTRV unsigned
794 # define INT2PTR(any,d) (any)(PTRV)(d)
797 # define NUM2PTR(any,d) (any)(PTRV)(d)
798 # define PTR2IV(p) INT2PTR(IV,p)
799 # define PTR2UV(p) INT2PTR(UV,p)
800 # define PTR2NV(p) NUM2PTR(NV,p)
802 # if PTRSIZE == LONGSIZE
803 # define PTR2ul(p) (unsigned long)(p)
805 # define PTR2ul(p) INT2PTR(unsigned long,p)
807 #endif /* !INT2PTR */
810 # define SvPV_nolen(x) SvPV(x,PL_na)
814 # define get_sv perl_get_sv
818 # define ERRSV get_sv("@",FALSE)
830 /* -----------------------------------------------------------------------------
832 * ----------------------------------------------------------------------------- */
834 SWIGINTERN const char*
835 SWIG_Perl_ErrorType(int code) {
836 const char* type = 0;
838 case SWIG_MemoryError:
839 type = "MemoryError";
844 case SWIG_RuntimeError:
845 type = "RuntimeError";
847 case SWIG_IndexError:
853 case SWIG_DivisionByZero:
854 type = "ZeroDivisionError";
856 case SWIG_OverflowError:
857 type = "OverflowError";
859 case SWIG_SyntaxError:
860 type = "SyntaxError";
862 case SWIG_ValueError:
865 case SWIG_SystemError:
866 type = "SystemError";
868 case SWIG_AttributeError:
869 type = "AttributeError";
872 type = "RuntimeError";
880 /* -----------------------------------------------------------------------------
883 * This file contains the runtime support for Perl modules
884 * and includes code for managing global variables and pointer
886 * ----------------------------------------------------------------------------- */
889 #define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
890 #define SWIG_PERL_OBJECT_CALL pPerl,
892 #define SWIG_PERL_OBJECT_DECL
893 #define SWIG_PERL_OBJECT_CALL
896 /* Common SWIG API */
898 /* for raw pointers */
899 #define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
900 #define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)
902 /* for raw packed data */
903 #define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
904 #define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)
906 /* for class or struct pointers */
907 #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)
908 #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)
910 /* for C or C++ function pointers */
911 #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0)
912 #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0)
914 /* for C++ member pointers, ie, member methods */
915 #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty)
916 #define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type)
921 #define SWIG_GetModule(clientdata) SWIG_Perl_GetModule()
922 #define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer)
925 /* Error manipulation */
927 #define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code)
928 #define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg)
929 #define SWIG_fail goto fail
931 /* Perl-specific SWIG API */
933 #define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
934 #define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
935 #define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str)
938 #define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1)
939 #define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1)
940 #define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2)
941 #define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2)
943 /* -----------------------------------------------------------------------------
944 * pointers/data manipulation
945 * ----------------------------------------------------------------------------- */
947 /* For backward compatibility only */
948 #define SWIG_POINTER_EXCEPTION 0
954 #define SWIG_OWNER SWIG_POINTER_OWN
955 #define SWIG_SHADOW SWIG_OWNER << 1
957 #define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL
959 /* SWIG Perl macros */
961 /* Macro to declare an XS function */
963 # define XSPROTO(name) void name(pTHX_ CV* cv)
966 /* Macro to call an XS function */
968 # define SWIG_CALLXS(_name) _name(cv,pPerl)
970 # ifndef MULTIPLICITY
971 # define SWIG_CALLXS(_name) _name(cv)
973 # define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv)
978 #define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;
983 typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
988 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
989 #define SWIGCLASS_STATIC
991 #else /* PERL_OBJECT */
994 #define SWIGCLASS_STATIC static SWIGUNUSED
997 #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
1002 typedef int (*SwigMagicFunc)(SV *, MAGIC *);
1007 #else /* MULTIPLICITY */
1009 #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
1014 typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
1019 #endif /* MULTIPLICITY */
1020 #endif /* PERL_OBJECT */
1022 /* Workaround for bug in perl 5.6.x croak and earlier */
1023 #if (PERL_VERSION < 8)
1025 # define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
1026 static void SWIG_Perl_croak_null(CPerlObj *pPerl)
1028 static void SWIG_croak_null()
1032 # if (PERL_VERSION < 6)
1035 if (SvOK(err) && !SvROK(err)) croak("%_", err);
1040 # define SWIG_croak_null() croak(Nullch)
1045 Define how strict is the cast between strings and integers/doubles
1046 when overloading between these types occurs.
1048 The default is making it as strict as possible by using SWIG_AddCast
1051 You can use -DSWIG_PERL_NO_STRICT_STR2NUM at compilation time to
1052 disable the SWIG_AddCast, making the casting between string and
1053 numbers less strict.
1055 In the end, we try to solve the overloading between strings and
1056 numerical types in the more natural way, but if you can avoid it,
1057 well, avoid it using %rename, for example.
1059 #ifndef SWIG_PERL_NO_STRICT_STR2NUM
1060 # ifndef SWIG_PERL_STRICT_STR2NUM
1061 # define SWIG_PERL_STRICT_STR2NUM
1064 #ifdef SWIG_PERL_STRICT_STR2NUM
1065 /* string takes precedence */
1066 #define SWIG_Str2NumCast(x) SWIG_AddCast(x)
1068 /* number takes precedence */
1069 #define SWIG_Str2NumCast(x) x
1076 SWIGRUNTIME const char *
1077 SWIG_Perl_TypeProxyName(const swig_type_info *type) {
1078 if (!type) return NULL;
1079 if (type->clientdata != NULL) {
1080 return (const char*) type->clientdata;
1087 /* Identical to SWIG_TypeCheck, except for strcmp comparison */
1088 SWIGRUNTIME swig_cast_info *
1089 SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
1091 swig_cast_info *iter = ty->cast;
1093 if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) ||
1094 (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) {
1095 if (iter == ty->cast)
1097 /* Move iter to the top of the linked list */
1098 iter->prev->next = iter->next;
1100 iter->next->prev = iter->prev;
1101 iter->next = ty->cast;
1103 if (ty->cast) ty->cast->prev = iter;
1113 /* Function for getting a pointer value */
1116 SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
1118 void *voidptr = (void *)0;
1120 /* If magical, apply more magic */
1124 /* Check to see if this is an object */
1125 if (sv_isobject(sv)) {
1127 tsv = (SV*) SvRV(sv);
1128 if ((SvTYPE(tsv) == SVt_PVHV)) {
1130 if (SvMAGICAL(tsv)) {
1131 mg = mg_find(tsv,'P');
1134 if (sv_isobject(sv)) {
1135 tsv = (SV*)SvRV(sv);
1145 voidptr = INT2PTR(void *,tmp);
1146 } else if (! SvOK(sv)) { /* Check for undef */
1147 *(ptr) = (void *) 0;
1149 } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */
1151 *(ptr) = (void *) 0;
1156 } else { /* Don't know what it is */
1160 /* Now see if the types match */
1161 char *_c = HvNAME(SvSTASH(SvRV(sv)));
1162 tc = SWIG_TypeProxyCheck(_c,_t);
1168 *ptr = SWIG_TypeCast(tc,voidptr,&newmemory);
1169 assert(!newmemory); /* newmemory handling not yet implemented */
1176 * DISOWN implementation: we need a perl guru to check this one.
1178 if (tsv && (flags & SWIG_POINTER_DISOWN)) {
1180 * almost copy paste code from below SWIG_POINTER_OWN setting
1183 HV *stash = SvSTASH(SvRV(obj));
1184 GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE);
1188 * To set ownership (see below), a newSViv(1) entry is added.
1189 * Hence, to remove ownership, we delete the entry.
1191 if (hv_exists_ent(hv, obj, 0)) {
1192 hv_delete_ent(hv, obj, 0, 0);
1200 SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
1201 if (ptr && (flags & SWIG_SHADOW)) {
1206 sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr);
1207 stash=SvSTASH(SvRV(obj));
1208 if (flags & SWIG_POINTER_OWN) {
1210 GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
1212 gv_init(gv, stash, "OWNER", 5, FALSE);
1214 hv_store_ent(hv, obj, newSViv(1), 0);
1216 sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
1218 self=newRV_noinc((SV *)hash);
1220 SvREFCNT_dec((SV *)self);
1221 sv_bless(sv, stash);
1224 sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr);
1228 SWIGRUNTIMEINLINE SV *
1229 SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
1230 SV *result = sv_newmortal();
1231 SWIG_MakePtr(result, ptr, t, flags);
1236 SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
1239 if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
1241 r = SWIG_PackData(r,ptr,sz);
1242 strcpy(r,SWIG_Perl_TypeProxyName(type));
1243 sv_setpv(sv, result);
1247 SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
1248 SV *result = sv_newmortal();
1249 SWIG_Perl_MakePackedObj(result, ptr, sz, type);
1253 /* Convert a packed value value */
1255 SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
1259 if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
1260 c = SvPV_nolen(obj);
1261 /* Pointer values must start with leading underscore */
1262 if (*c != '_') return SWIG_ERROR;
1264 c = SWIG_UnpackData(c,ptr,sz);
1266 tc = SWIG_TypeCheck(c,ty);
1267 if (!tc) return SWIG_ERROR;
1273 /* Macros for low-level exception handling */
1274 #define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }
1277 typedef XSPROTO(SwigPerlWrapper);
1278 typedef SwigPerlWrapper *SwigPerlWrapperPtr;
1280 /* Structure for command table */
1283 SwigPerlWrapperPtr wrapper;
1284 } swig_command_info;
1286 /* Information for constant table */
1289 #define SWIG_FLOAT 2
1290 #define SWIG_STRING 3
1291 #define SWIG_POINTER 4
1292 #define SWIG_BINARY 5
1294 /* Constant information structure */
1295 typedef struct swig_constant_info {
1301 swig_type_info **ptype;
1302 } swig_constant_info;
1305 /* Structure for variable table */
1310 swig_type_info **type;
1311 } swig_variable_info;
1313 /* Magic variable code */
1315 #define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
1316 #ifndef MULTIPLICITY
1317 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *))
1319 SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *))
1322 # define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
1323 SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *))
1327 sv_magic(sv,sv,'U',(char *) name,strlen(name));
1328 mg = mg_find(sv,'U');
1329 mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
1330 mg->mg_virtual->svt_get = (SwigMagicFunc) get;
1331 mg->mg_virtual->svt_set = (SwigMagicFunc) set;
1332 mg->mg_virtual->svt_len = 0;
1333 mg->mg_virtual->svt_clear = 0;
1334 mg->mg_virtual->svt_free = 0;
1338 SWIGRUNTIME swig_module_info *
1339 SWIG_Perl_GetModule(void) {
1340 static void *type_pointer = (void *)0;
1343 /* first check if pointer already created */
1344 if (!type_pointer) {
1345 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI);
1346 if (pointer && SvOK(pointer)) {
1347 type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
1351 return (swig_module_info *) type_pointer;
1355 SWIG_Perl_SetModule(swig_module_info *module) {
1358 /* create a new pointer */
1359 pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI);
1360 sv_setiv(pointer, PTR2IV(module));
1367 /* Workaround perl5 global namespace pollution. Note that undefining library
1368 * functions like fopen will not solve the problem on all platforms as fopen
1369 * might be a macro on Windows but not necessarily on other operating systems. */
1469 #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0)
1471 #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else
1475 #define SWIG_exception(code, msg) do { SWIG_Error(code, msg); SWIG_fail;; } while(0)
1478 /* -------- TYPES TABLE (BEGIN) -------- */
1480 #define SWIGTYPE_p_Device swig_types[0]
1481 #define SWIGTYPE_p_DevicePropertyBase swig_types[1]
1482 #define SWIGTYPE_p_DirectTCPAddr swig_types[2]
1483 #define SWIGTYPE_p_DirectTCPConnection swig_types[3]
1484 #define SWIGTYPE_p_GSList swig_types[4]
1485 #define SWIGTYPE_p_GValue swig_types[5]
1486 #define SWIGTYPE_p_a_STRMAX__char swig_types[6]
1487 #define SWIGTYPE_p_char swig_types[7]
1488 #define SWIGTYPE_p_double swig_types[8]
1489 #define SWIGTYPE_p_dumpfile_t swig_types[9]
1490 #define SWIGTYPE_p_float swig_types[10]
1491 #define SWIGTYPE_p_guint swig_types[11]
1492 #define SWIGTYPE_p_guint32 swig_types[12]
1493 #define SWIGTYPE_p_guint64 swig_types[13]
1494 #define SWIGTYPE_p_int swig_types[14]
1495 #define SWIGTYPE_p_p_DirectTCPAddr swig_types[15]
1496 #define SWIGTYPE_p_unsigned_char swig_types[16]
1497 static swig_type_info *swig_types[18];
1498 static swig_module_info swig_module = {swig_types, 17, 0, 0, 0, 0};
1499 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
1500 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
1502 /* -------- TYPES TABLE (END) -------- */
1504 #define SWIG_init boot_Amanda__Device
1506 #define SWIG_name "Amanda::Devicec::boot_Amanda__Device"
1507 #define SWIG_prefix "Amanda::Devicec::"
1509 #define SWIGVERSION 0x010339
1510 #define SWIG_VERSION SWIGVERSION
1513 #define SWIG_as_voidptr(a) (void *)((const void *)(a))
1514 #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a))
1521 #ifndef MULTIPLICITY
1522 SWIGEXPORT void SWIG_init (CV* cv);
1524 SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
1527 SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
1541 #include "property.h"
1542 #include "fileheader.h"
1543 #include "glib-util.h"
1544 #include "simpleprng.h"
1548 /* Utility functions for typemaps, below */
1550 /* return a new, mortal SV corresponding to the given GValue
1552 * @param value: the value to convert
1553 * @returns: a new, mortal SV
1556 set_sv_from_gvalue(GValue *value)
1558 GType fundamental = G_TYPE_FUNDAMENTAL(G_VALUE_TYPE(value));
1561 /* complex reference types */
1562 switch (fundamental) {
1564 return sv_2mortal(amglue_newSVi64(g_value_get_long(value)));
1567 return sv_2mortal(amglue_newSVu64(g_value_get_ulong(value)));
1570 return sv_2mortal(amglue_newSVi64(g_value_get_int64(value)));
1573 return sv_2mortal(amglue_newSVu64(g_value_get_uint64(value)));
1576 /* simple types that can be constructed with sv_set*v */
1577 sv = sv_newmortal();
1578 switch (fundamental) {
1580 sv_setiv(sv, g_value_get_char(value));
1584 sv_setuv(sv, g_value_get_uchar(value));
1587 case G_TYPE_BOOLEAN:
1588 sv_setiv(sv, g_value_get_boolean(value));
1592 sv_setiv(sv, g_value_get_int(value));
1596 sv_setuv(sv, g_value_get_uint(value));
1600 sv_setnv(sv, g_value_get_float(value));
1604 sv_setnv(sv, g_value_get_double(value));
1608 sv_setpv(sv, g_value_get_string(value));
1612 sv_setiv(sv, g_value_get_enum(value));
1616 sv_setiv(sv, g_value_get_flags(value));
1621 case G_TYPE_POINTER:
1622 case G_TYPE_INTERFACE:
1625 warn("Unsupported fundamental property type #%d", (int)fundamental);
1626 sv_setsv(sv, &PL_sv_undef);
1633 /* Given an SV and an initialized GValue, set the GValue to the value
1634 * represented by the SV. The GValue's type must already be set.
1636 * For basic corresponding types (string -> string, integer -> integer),
1637 * the translation is straightforward. However, if the GValue is not a
1638 * string, but the SV has a string value, then g_value_set_from_string will
1639 * be used to parse the string.
1641 * @param sv: SV to convert
1642 * @param value: (input/output) destination
1643 * @returns: TRUE on success
1646 set_gvalue_from_sv(SV *sv, GValue *value)
1648 GType fundamental = G_TYPE_FUNDAMENTAL(G_VALUE_TYPE(value));
1650 /* if we got a string, use g_value_set_from_string to parse any funny
1651 * values or suffixes */
1653 if (g_value_set_from_string(value, SvPV_nolen(sv)))
1657 /* otherwise, handle numeric types with SvIV, SvNV, or the amglue_* functions */
1658 switch (fundamental) {
1659 case G_TYPE_BOOLEAN:
1660 g_value_set_boolean(value, SvIV(sv));
1664 g_value_set_char(value, amglue_SvI8(sv));
1668 g_value_set_uchar(value, amglue_SvU8(sv));
1672 g_value_set_int(value, amglue_SvI32(sv));
1676 g_value_set_uint(value, amglue_SvU32(sv));
1680 g_value_set_int64(value, amglue_SvI64(sv));
1684 g_value_set_uint64(value, amglue_SvU64(sv));
1688 g_value_set_int64(value, amglue_SvI64(sv));
1692 g_value_set_uint64(value, amglue_SvU64(sv));
1696 g_value_set_float(value, SvNV(sv));
1700 g_value_set_double(value, SvNV(sv));
1704 g_value_set_enum(value, SvIV(sv));
1708 g_value_set_flags(value, SvIV(sv));
1712 /* for anything else, let perl stringify it for us and try parsing it */
1713 return g_value_set_from_string(value, SvPV_nolen(sv));
1718 SWIGINTERN void delete_DirectTCPConnection(DirectTCPConnection *self){
1719 g_object_unref(self);
1721 SWIGINTERN char *DirectTCPConnection_close(DirectTCPConnection *self){
1722 return directtcp_connection_close(self);
1725 SWIGINTERNINLINE SV *
1726 SWIG_FromCharPtrAndSize(const char* carray, size_t size)
1728 SV *obj = sv_newmortal();
1730 sv_setpvn(obj, carray, size);
1732 sv_setsv(obj, &PL_sv_undef);
1738 SWIGINTERNINLINE SV *
1739 SWIG_FromCharPtr(const char *cptr)
1741 return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
1745 SWIGINTERN swig_type_info*
1746 SWIG_pchar_descriptor(void)
1748 static int init = 0;
1749 static swig_type_info* info = 0;
1751 info = SWIG_TypeQuery("_p_char");
1759 SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc)
1761 if (SvMAGICAL(obj)) {
1762 SV *tmp = sv_newmortal();
1768 char *cstr = SvPV(obj, len);
1769 size_t size = len + 1;
1772 if (*alloc == SWIG_NEWOBJ) {
1773 *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
1776 *alloc = SWIG_OLDOBJ;
1780 if (psize) *psize = size;
1783 swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
1784 if (pchar_descriptor) {
1786 if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
1787 if (cptr) *cptr = vptr;
1788 if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
1789 if (alloc) *alloc = SWIG_OLDOBJ;
1794 return SWIG_TypeError;
1800 SWIGINTERN Device *new_Device(char *device_name){
1801 return device_open(device_name);
1803 SWIGINTERN void delete_Device(Device *self){
1804 g_object_unref(self);
1808 #if !defined(SWIG_NO_LLONG_MAX)
1809 # if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
1810 # define LLONG_MAX __LONG_LONG_MAX__
1811 # define LLONG_MIN (-LLONG_MAX - 1LL)
1812 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
1818 SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
1821 if (val) *val = SvNV(obj);
1823 } else if (SvIOK(obj)) {
1824 if (val) *val = (double) SvIV(obj);
1825 return SWIG_AddCast(SWIG_OK);
1827 const char *nptr = SvPV_nolen(obj);
1830 double v = strtod(nptr, &endptr);
1831 if (errno == ERANGE) {
1833 return SWIG_OverflowError;
1835 if (*endptr == '\0') {
1837 return SWIG_Str2NumCast(SWIG_OK);
1842 return SWIG_TypeError;
1852 SWIGINTERNINLINE int
1853 SWIG_CanCastAsInteger(double *d, double min, double max) {
1855 if ((min <= x && x <= max)) {
1856 double fx = floor(x);
1857 double cx = ceil(x);
1858 double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */
1859 if ((errno == EDOM) || (errno == ERANGE)) {
1862 double summ, reps, diff;
1865 } else if (rd > x) {
1872 if (reps < 8*DBL_EPSILON) {
1883 SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
1886 if (val) *val = SvIV(obj);
1890 const char *nptr = SvPV_nolen(obj);
1895 v = strtol(nptr, &endptr,0);
1896 if (errno == ERANGE) {
1898 return SWIG_OverflowError;
1900 if (*endptr == '\0') {
1902 return SWIG_Str2NumCast(SWIG_OK);
1908 int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
1909 if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
1910 if (val) *val = (long)(d);
1915 return SWIG_TypeError;
1920 SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
1923 int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(obj, &v);
1924 if (SWIG_IsOK(res)) {
1925 if ((v < INT_MIN || v > INT_MAX)) {
1926 return SWIG_OverflowError;
1928 if (val) *val = (int)(v);
1934 SWIGINTERN gboolean Device_configure(Device *self,gboolean use_global_config){
1935 return device_configure(self, use_global_config);
1937 SWIGINTERN char *Device_error(Device *self){
1938 return device_error(self);
1940 SWIGINTERN char *Device_status_error(Device *self){
1941 return device_status_error(self);
1943 SWIGINTERN char *Device_error_or_status(Device *self){
1944 return device_error_or_status(self);
1946 SWIGINTERN DeviceStatusFlags Device_read_label(Device *self){
1947 return device_read_label(self);
1949 SWIGINTERN gboolean Device_start(Device *self,DeviceAccessMode mode,char *label,char *timestamp){
1950 return device_start(self, mode, label, timestamp);
1952 SWIGINTERN gboolean Device_finish(Device *self){
1953 return device_finish(self);
1955 SWIGINTERN gboolean Device_start_file(Device *self,dumpfile_t *jobInfo){
1956 return device_start_file(self, jobInfo);
1958 SWIGINTERN gboolean Device_write_block(Device *self,guint size,gpointer data){
1959 return device_write_block(self, size, data);
1961 SWIGINTERN gboolean Device_finish_file(Device *self){
1962 return device_finish_file(self);
1964 SWIGINTERN dumpfile_t *Device_seek_file(Device *self,guint file){
1965 return device_seek_file(self, file);
1967 SWIGINTERN gboolean Device_seek_block(Device *self,guint64 block){
1968 return device_seek_block(self, block);
1970 SWIGINTERN int Device_read_block(Device *self,gpointer buffer,int *size){
1971 return device_read_block(self, buffer, size);
1973 SWIGINTERN gboolean Device_erase(Device *self){
1974 return device_erase(self);
1976 SWIGINTERN gboolean Device_eject(Device *self){
1977 return device_eject(self);
1979 SWIGINTERN gboolean Device_directtcp_supported(Device *self){
1980 return device_directtcp_supported(self);
1982 SWIGINTERN void Device_listen(Device *self,gboolean for_writing,DirectTCPAddr **addrs){
1983 /* ensure that the addresses are empty if there was an error */
1984 if (!device_listen(self, for_writing, addrs))
1987 SWIGINTERN DirectTCPConnection *Device_accept(Device *self){
1988 DirectTCPConnection *conn = NULL;
1991 rv = device_accept(self, &conn, NULL, NULL);
1993 /* conn is ref'd for our convenience, but we don't want it */
1994 g_object_unref(conn);
1999 SWIGINTERN DirectTCPConnection *Device_connect(Device *self,gboolean for_writing,DirectTCPAddr *addrs){
2000 DirectTCPConnection *conn = NULL;
2003 rv = device_connect(self, for_writing, addrs, &conn, NULL, NULL);
2005 /* conn is ref'd for our convenience, but we don't want it */
2006 g_object_unref(conn);
2011 SWIGINTERN gboolean Device_use_connection(Device *self,DirectTCPConnection *conn){
2012 return device_use_connection(self, conn);
2014 SWIGINTERN gboolean Device_write_from_connection(Device *self,guint64 size,guint64 *actual_size){
2015 return device_write_from_connection(self, size, actual_size);
2017 SWIGINTERN gboolean Device_read_to_connection(Device *self,guint64 size,guint64 *actual_size){
2018 return device_read_to_connection(self, size, actual_size);
2020 SWIGINTERN GSList const *Device_property_list(Device *self){
2021 return device_property_get_list(self);
2023 SWIGINTERN void Device_property_get(Device *self,DevicePropertyBase *pbase,GValue *out_val,PropertySurety *surety,PropertySource *source,gboolean *val_found){
2025 *val_found = device_property_get_ex(self, pbase->ID, out_val, surety, source);
2030 SWIGINTERN gboolean Device_property_set(Device *self,DevicePropertyBase *pbase,SV *sv){
2032 memset(&gval, 0, sizeof(gval));
2033 g_value_init(&gval, pbase->type);
2034 if (!set_gvalue_from_sv(sv, &gval))
2037 if (!device_property_set(self, pbase->ID, &gval))
2040 g_value_unset(&gval);
2043 g_value_unset(&gval);
2046 SWIGINTERN gboolean Device_property_set_ex(Device *self,DevicePropertyBase *pbase,SV *sv,PropertySurety surety,PropertySource source){
2048 memset(&gval, 0, sizeof(gval));
2049 g_value_init(&gval, pbase->type);
2050 if (!set_gvalue_from_sv(sv, &gval))
2053 if (!device_property_set_ex(self, pbase->ID, &gval, surety, source))
2056 g_value_unset(&gval);
2059 g_value_unset(&gval);
2062 SWIGINTERN gboolean Device_recycle_file(Device *self,guint filenum){
2063 return device_recycle_file(self, filenum);
2065 SWIGINTERN int Device_file(Device *self){ return self->file; }
2066 SWIGINTERN guint64 Device_block(Device *self){ return self->block; }
2067 SWIGINTERN gboolean Device_in_file(Device *self){ return self->in_file; }
2068 SWIGINTERN char *Device_device_name(Device *self){ return self->device_name; }
2069 SWIGINTERN DeviceAccessMode Device_access_mode(Device *self){ return self->access_mode; }
2070 SWIGINTERN gboolean Device_is_eof(Device *self){ return self->is_eof; }
2071 SWIGINTERN gboolean Device_is_eom(Device *self){ return self->is_eom; }
2072 SWIGINTERN char *Device_volume_label(Device *self){ return self->volume_label; }
2073 SWIGINTERN char *Device_volume_time(Device *self){ return self->volume_time; }
2074 SWIGINTERN DeviceStatusFlags Device_status(Device *self){ return self->status; }
2075 SWIGINTERN gsize Device_min_block_size(Device *self){ return self->min_block_size; }
2076 SWIGINTERN gsize Device_max_block_size(Device *self){ return self->max_block_size; }
2077 SWIGINTERN gsize Device_block_size(Device *self){ return self->block_size; }
2078 SWIGINTERN dumpfile_t *Device_volume_header(Device *self){ return self->volume_header; }
2081 /* write LENGTH bytes of random data to FILENAME, seeded with SEED */
2083 write_random_to_device(guint32 seed, size_t length, Device *device) {
2084 simpleprng_state_t prng;
2086 gsize block_size = device->block_size;
2087 g_assert(block_size < G_MAXUINT);
2089 buf = g_malloc(block_size);
2090 simpleprng_seed(&prng, seed);
2093 size_t to_write = min(block_size, length);
2095 simpleprng_fill_buffer(&prng, buf, to_write);
2096 if (!device_write_block(device, (guint)block_size, buf)) {
2107 /* read LENGTH bytes of random data from FILENAME verifying it against
2108 * a PRNG seeded with SEED. Sends any error messages to stderr.
2111 verify_random_from_device(guint32 seed, size_t length, Device *device) {
2112 simpleprng_state_t prng;
2113 char *buf = NULL; /* first device_read_block will get the size */
2116 simpleprng_seed(&prng, seed);
2120 int size = block_size;
2122 bytes_read = device_read_block(device, buf, &size);
2123 if (bytes_read == 0 && size > block_size) {
2126 buf = g_malloc(block_size);
2129 if (bytes_read == -1) {
2130 if (device->status == DEVICE_STATUS_SUCCESS) {
2131 g_assert(device->is_eof);
2132 g_debug("verify_random_from_device got unexpected EOF");
2138 bytes_read = min(bytes_read, length);
2140 if (!simpleprng_verify_buffer(&prng, buf, bytes_read))
2143 length -= bytes_read;
2156 SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val)
2159 if (val) *val = SvUV(obj);
2161 } else if (SvIOK(obj)) {
2167 return SWIG_OverflowError;
2171 const char *nptr = SvPV_nolen(obj);
2176 v = strtoul(nptr, &endptr,0);
2177 if (errno == ERANGE) {
2179 return SWIG_OverflowError;
2181 if (*endptr == '\0') {
2183 return SWIG_Str2NumCast(SWIG_OK);
2189 int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
2190 if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
2191 if (val) *val = (unsigned long)(d);
2196 return SWIG_TypeError;
2200 SWIGINTERNINLINE int
2201 SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val)
2204 int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
2205 if (SWIG_IsOK(res) && val) *val = (size_t)(v);
2210 SWIGINTERNINLINE SV *
2211 SWIG_From_long SWIG_PERL_DECL_ARGS_1(long value)
2213 SV *obj = sv_newmortal();
2214 sv_setiv(obj, (IV) value);
2219 SWIGINTERNINLINE SV *
2220 SWIG_From_int SWIG_PERL_DECL_ARGS_1(int value)
2222 return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value);
2230 #define MAGIC_CLASS _wrap_Amanda__Device_var::
2231 class _wrap_Amanda__Device_var : public CPerlObj {
2236 SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
2238 croak("Value is read-only.");
2254 XS(_wrap_delete_DirectTCPConnection) {
2256 DirectTCPConnection *arg1 = (DirectTCPConnection *) 0 ;
2262 if ((items < 1) || (items > 1)) {
2263 SWIG_croak("Usage: delete_DirectTCPConnection(self);");
2265 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_DirectTCPConnection, SWIG_POINTER_DISOWN | 0 );
2266 if (!SWIG_IsOK(res1)) {
2267 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DirectTCPConnection" "', argument " "1"" of type '" "DirectTCPConnection *""'");
2269 arg1 = (DirectTCPConnection *)(argp1);
2270 delete_DirectTCPConnection(arg1);
2271 ST(argvi) = sv_newmortal();
2281 XS(_wrap_DirectTCPConnection_close) {
2283 DirectTCPConnection *arg1 = (DirectTCPConnection *) 0 ;
2290 if ((items < 1) || (items > 1)) {
2291 SWIG_croak("Usage: DirectTCPConnection_close(self);");
2293 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_DirectTCPConnection, 0 | 0 );
2294 if (!SWIG_IsOK(res1)) {
2295 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DirectTCPConnection_close" "', argument " "1"" of type '" "DirectTCPConnection *""'");
2297 arg1 = (DirectTCPConnection *)(argp1);
2298 result = (char *)DirectTCPConnection_close(arg1);
2299 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2301 free((char*)result);
2310 XS(_wrap_new_DirectTCPConnection) {
2313 DirectTCPConnection *result = 0 ;
2316 if ((items < 0) || (items > 0)) {
2317 SWIG_croak("Usage: new_DirectTCPConnection();");
2319 result = (DirectTCPConnection *)calloc(1, sizeof(DirectTCPConnection));
2320 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DirectTCPConnection, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2328 XS(_wrap_unaliased_name) {
2330 char *arg1 = (char *) 0 ;
2338 if ((items < 1) || (items > 1)) {
2339 SWIG_croak("Usage: unaliased_name(char *);");
2341 res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2342 if (!SWIG_IsOK(res1)) {
2343 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "unaliased_name" "', argument " "1"" of type '" "char *""'");
2345 arg1 = (char *)(buf1);
2346 result = (char *)device_unaliased_name(arg1);
2347 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2348 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2351 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2357 XS(_wrap_new_Device) {
2359 char *arg1 = (char *) 0 ;
2364 Device *result = 0 ;
2367 if ((items < 1) || (items > 1)) {
2368 SWIG_croak("Usage: new_Device(device_name);");
2370 res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
2371 if (!SWIG_IsOK(res1)) {
2372 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_Device" "', argument " "1"" of type '" "char *""'");
2374 arg1 = (char *)(buf1);
2375 result = (Device *)new_Device(arg1);
2376 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Device, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
2377 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2380 if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
2386 XS(_wrap_delete_Device) {
2388 Device *arg1 = (Device *) 0 ;
2394 if ((items < 1) || (items > 1)) {
2395 SWIG_croak("Usage: delete_Device(self);");
2397 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, SWIG_POINTER_DISOWN | 0 );
2398 if (!SWIG_IsOK(res1)) {
2399 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_Device" "', argument " "1"" of type '" "Device *""'");
2401 arg1 = (Device *)(argp1);
2402 delete_Device(arg1);
2403 ST(argvi) = sv_newmortal();
2413 XS(_wrap_Device_configure) {
2415 Device *arg1 = (Device *) 0 ;
2423 if ((items < 2) || (items > 2)) {
2424 SWIG_croak("Usage: Device_configure(self,use_global_config);");
2426 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2427 if (!SWIG_IsOK(res1)) {
2428 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_configure" "', argument " "1"" of type '" "Device *""'");
2430 arg1 = (Device *)(argp1);
2432 arg2 = SvTRUE(ST(1));
2434 result = (gboolean)Device_configure(arg1,arg2);
2437 ST(argvi) = &PL_sv_yes;
2439 ST(argvi) = &PL_sv_no;
2453 XS(_wrap_Device_error) {
2455 Device *arg1 = (Device *) 0 ;
2462 if ((items < 1) || (items > 1)) {
2463 SWIG_croak("Usage: Device_error(self);");
2465 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2466 if (!SWIG_IsOK(res1)) {
2467 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_error" "', argument " "1"" of type '" "Device *""'");
2469 arg1 = (Device *)(argp1);
2470 result = (char *)Device_error(arg1);
2471 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2481 XS(_wrap_Device_status_error) {
2483 Device *arg1 = (Device *) 0 ;
2490 if ((items < 1) || (items > 1)) {
2491 SWIG_croak("Usage: Device_status_error(self);");
2493 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2494 if (!SWIG_IsOK(res1)) {
2495 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_status_error" "', argument " "1"" of type '" "Device *""'");
2497 arg1 = (Device *)(argp1);
2498 result = (char *)Device_status_error(arg1);
2499 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2509 XS(_wrap_Device_error_or_status) {
2511 Device *arg1 = (Device *) 0 ;
2518 if ((items < 1) || (items > 1)) {
2519 SWIG_croak("Usage: Device_error_or_status(self);");
2521 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2522 if (!SWIG_IsOK(res1)) {
2523 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_error_or_status" "', argument " "1"" of type '" "Device *""'");
2525 arg1 = (Device *)(argp1);
2526 result = (char *)Device_error_or_status(arg1);
2527 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
2537 XS(_wrap_Device_read_label) {
2539 Device *arg1 = (Device *) 0 ;
2543 DeviceStatusFlags result;
2546 if ((items < 1) || (items > 1)) {
2547 SWIG_croak("Usage: Device_read_label(self);");
2549 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2550 if (!SWIG_IsOK(res1)) {
2551 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_read_label" "', argument " "1"" of type '" "Device *""'");
2553 arg1 = (Device *)(argp1);
2554 result = (DeviceStatusFlags)Device_read_label(arg1);
2557 SP += argvi; PUTBACK;
2558 for_stack = sv_2mortal(amglue_newSVi64(result));
2559 SPAGAIN; SP -= argvi;
2560 ST(argvi) = for_stack;
2572 XS(_wrap_Device_start) {
2574 Device *arg1 = (Device *) 0 ;
2575 DeviceAccessMode arg2 ;
2576 char *arg3 = (char *) 0 ;
2577 char *arg4 = (char *) 0 ;
2590 if ((items < 4) || (items > 4)) {
2591 SWIG_croak("Usage: Device_start(self,mode,label,timestamp);");
2593 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2594 if (!SWIG_IsOK(res1)) {
2595 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_start" "', argument " "1"" of type '" "Device *""'");
2597 arg1 = (Device *)(argp1);
2599 if (sizeof(signed int) == 1) {
2600 arg2 = amglue_SvI8(ST(1));
2601 } else if (sizeof(signed int) == 2) {
2602 arg2 = amglue_SvI16(ST(1));
2603 } else if (sizeof(signed int) == 4) {
2604 arg2 = amglue_SvI32(ST(1));
2605 } else if (sizeof(signed int) == 8) {
2606 arg2 = amglue_SvI64(ST(1));
2608 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
2611 res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
2612 if (!SWIG_IsOK(res3)) {
2613 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Device_start" "', argument " "3"" of type '" "char *""'");
2615 arg3 = (char *)(buf3);
2616 res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
2617 if (!SWIG_IsOK(res4)) {
2618 SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Device_start" "', argument " "4"" of type '" "char *""'");
2620 arg4 = (char *)(buf4);
2621 result = (gboolean)Device_start(arg1,arg2,arg3,arg4);
2624 ST(argvi) = &PL_sv_yes;
2626 ST(argvi) = &PL_sv_no;
2631 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
2632 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2637 if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
2638 if (alloc4 == SWIG_NEWOBJ) free((char*)buf4);
2644 XS(_wrap_Device_finish) {
2646 Device *arg1 = (Device *) 0 ;
2653 if ((items < 1) || (items > 1)) {
2654 SWIG_croak("Usage: Device_finish(self);");
2656 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2657 if (!SWIG_IsOK(res1)) {
2658 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_finish" "', argument " "1"" of type '" "Device *""'");
2660 arg1 = (Device *)(argp1);
2661 result = (gboolean)Device_finish(arg1);
2664 ST(argvi) = &PL_sv_yes;
2666 ST(argvi) = &PL_sv_no;
2678 XS(_wrap_Device_start_file) {
2680 Device *arg1 = (Device *) 0 ;
2681 dumpfile_t *arg2 = (dumpfile_t *) 0 ;
2690 if ((items < 2) || (items > 2)) {
2691 SWIG_croak("Usage: Device_start_file(self,jobInfo);");
2693 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2694 if (!SWIG_IsOK(res1)) {
2695 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_start_file" "', argument " "1"" of type '" "Device *""'");
2697 arg1 = (Device *)(argp1);
2698 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_dumpfile_t, 0 | 0 );
2699 if (!SWIG_IsOK(res2)) {
2700 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Device_start_file" "', argument " "2"" of type '" "dumpfile_t *""'");
2702 arg2 = (dumpfile_t *)(argp2);
2703 result = (gboolean)Device_start_file(arg1,arg2);
2706 ST(argvi) = &PL_sv_yes;
2708 ST(argvi) = &PL_sv_no;
2722 XS(_wrap_Device_write_block) {
2724 Device *arg1 = (Device *) 0 ;
2726 gpointer arg3 = (gpointer) 0 ;
2734 if ((items < 3) || (items > 3)) {
2735 SWIG_croak("Usage: Device_write_block(self,size,data);");
2737 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2738 if (!SWIG_IsOK(res1)) {
2739 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_write_block" "', argument " "1"" of type '" "Device *""'");
2741 arg1 = (Device *)(argp1);
2743 if (sizeof(guint) == 1) {
2744 arg2 = amglue_SvU8(ST(1));
2745 } else if (sizeof(guint) == 2) {
2746 arg2 = amglue_SvU16(ST(1));
2747 } else if (sizeof(guint) == 4) {
2748 arg2 = amglue_SvU32(ST(1));
2749 } else if (sizeof(guint) == 8) {
2750 arg2 = amglue_SvU64(ST(1));
2752 croak("Unexpected guint >64 bits?"); /* should be optimized out unless sizeof(guint) > 8 */
2755 res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3), 0, 0);
2756 if (!SWIG_IsOK(res3)) {
2757 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Device_write_block" "', argument " "3"" of type '" "gpointer""'");
2759 result = (gboolean)Device_write_block(arg1,arg2,arg3);
2762 ST(argvi) = &PL_sv_yes;
2764 ST(argvi) = &PL_sv_no;
2778 XS(_wrap_Device_finish_file) {
2780 Device *arg1 = (Device *) 0 ;
2787 if ((items < 1) || (items > 1)) {
2788 SWIG_croak("Usage: Device_finish_file(self);");
2790 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2791 if (!SWIG_IsOK(res1)) {
2792 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_finish_file" "', argument " "1"" of type '" "Device *""'");
2794 arg1 = (Device *)(argp1);
2795 result = (gboolean)Device_finish_file(arg1);
2798 ST(argvi) = &PL_sv_yes;
2800 ST(argvi) = &PL_sv_no;
2812 XS(_wrap_Device_seek_file) {
2814 Device *arg1 = (Device *) 0 ;
2819 dumpfile_t *result = 0 ;
2822 if ((items < 2) || (items > 2)) {
2823 SWIG_croak("Usage: Device_seek_file(self,file);");
2825 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2826 if (!SWIG_IsOK(res1)) {
2827 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_seek_file" "', argument " "1"" of type '" "Device *""'");
2829 arg1 = (Device *)(argp1);
2831 if (sizeof(guint) == 1) {
2832 arg2 = amglue_SvU8(ST(1));
2833 } else if (sizeof(guint) == 2) {
2834 arg2 = amglue_SvU16(ST(1));
2835 } else if (sizeof(guint) == 4) {
2836 arg2 = amglue_SvU32(ST(1));
2837 } else if (sizeof(guint) == 8) {
2838 arg2 = amglue_SvU64(ST(1));
2840 croak("Unexpected guint >64 bits?"); /* should be optimized out unless sizeof(guint) > 8 */
2843 result = (dumpfile_t *)Device_seek_file(arg1,arg2);
2844 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_dumpfile_t, 0 | SWIG_SHADOW); argvi++ ;
2854 XS(_wrap_Device_seek_block) {
2856 Device *arg1 = (Device *) 0 ;
2864 if ((items < 2) || (items > 2)) {
2865 SWIG_croak("Usage: Device_seek_block(self,block);");
2867 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2868 if (!SWIG_IsOK(res1)) {
2869 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_seek_block" "', argument " "1"" of type '" "Device *""'");
2871 arg1 = (Device *)(argp1);
2873 arg2 = amglue_SvU64(ST(1));
2875 result = (gboolean)Device_seek_block(arg1,arg2);
2878 ST(argvi) = &PL_sv_yes;
2880 ST(argvi) = &PL_sv_no;
2892 XS(_wrap_Device_read_block) {
2894 Device *arg1 = (Device *) 0 ;
2895 gpointer arg2 = (gpointer) 0 ;
2896 int *arg3 = (int *) 0 ;
2906 if ((items < 3) || (items > 3)) {
2907 SWIG_croak("Usage: Device_read_block(self,buffer,size);");
2909 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2910 if (!SWIG_IsOK(res1)) {
2911 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_read_block" "', argument " "1"" of type '" "Device *""'");
2913 arg1 = (Device *)(argp1);
2914 res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, 0);
2915 if (!SWIG_IsOK(res2)) {
2916 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Device_read_block" "', argument " "2"" of type '" "gpointer""'");
2918 res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int, 0 | 0 );
2919 if (!SWIG_IsOK(res3)) {
2920 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Device_read_block" "', argument " "3"" of type '" "int *""'");
2922 arg3 = (int *)(argp3);
2923 result = (int)Device_read_block(arg1,arg2,arg3);
2926 SP += argvi; PUTBACK;
2927 for_stack = sv_2mortal(amglue_newSVi64(result));
2928 SPAGAIN; SP -= argvi;
2929 ST(argvi) = for_stack;
2945 XS(_wrap_Device_erase) {
2947 Device *arg1 = (Device *) 0 ;
2954 if ((items < 1) || (items > 1)) {
2955 SWIG_croak("Usage: Device_erase(self);");
2957 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2958 if (!SWIG_IsOK(res1)) {
2959 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_erase" "', argument " "1"" of type '" "Device *""'");
2961 arg1 = (Device *)(argp1);
2962 result = (gboolean)Device_erase(arg1);
2965 ST(argvi) = &PL_sv_yes;
2967 ST(argvi) = &PL_sv_no;
2979 XS(_wrap_Device_eject) {
2981 Device *arg1 = (Device *) 0 ;
2988 if ((items < 1) || (items > 1)) {
2989 SWIG_croak("Usage: Device_eject(self);");
2991 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
2992 if (!SWIG_IsOK(res1)) {
2993 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_eject" "', argument " "1"" of type '" "Device *""'");
2995 arg1 = (Device *)(argp1);
2996 result = (gboolean)Device_eject(arg1);
2999 ST(argvi) = &PL_sv_yes;
3001 ST(argvi) = &PL_sv_no;
3013 XS(_wrap_Device_directtcp_supported) {
3015 Device *arg1 = (Device *) 0 ;
3022 if ((items < 1) || (items > 1)) {
3023 SWIG_croak("Usage: Device_directtcp_supported(self);");
3025 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3026 if (!SWIG_IsOK(res1)) {
3027 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_directtcp_supported" "', argument " "1"" of type '" "Device *""'");
3029 arg1 = (Device *)(argp1);
3030 result = (gboolean)Device_directtcp_supported(arg1);
3033 ST(argvi) = &PL_sv_yes;
3035 ST(argvi) = &PL_sv_no;
3047 XS(_wrap_Device_listen) {
3049 Device *arg1 = (Device *) 0 ;
3051 DirectTCPAddr **arg3 = (DirectTCPAddr **) 0 ;
3054 DirectTCPAddr *addrs3 ;
3062 if ((items < 2) || (items > 2)) {
3063 SWIG_croak("Usage: Device_listen(self,for_writing);");
3065 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3066 if (!SWIG_IsOK(res1)) {
3067 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_listen" "', argument " "1"" of type '" "Device *""'");
3069 arg1 = (Device *)(argp1);
3071 arg2 = SvTRUE(ST(1));
3073 Device_listen(arg1,arg2,arg3);
3074 ST(argvi) = sv_newmortal();
3076 if (arg3 && *arg3) {
3077 DirectTCPAddr *iter = *arg3;
3081 while (iter && iter->ipv4) {
3084 AV *tuple = newAV();
3086 in.s_addr = htonl(iter->ipv4);
3087 addr = inet_ntoa(in);
3088 g_assert(NULL != av_store(tuple, 0,
3090 g_assert(NULL != av_store(tuple, 1, newSViv(iter->port)));
3091 g_assert(NULL != av_store(av, i++, newRV_noinc((SV *)tuple)));
3095 ST(argvi) = newRV_noinc((SV *)av);
3112 XS(_wrap_Device_accept) {
3114 Device *arg1 = (Device *) 0 ;
3118 DirectTCPConnection *result = 0 ;
3121 if ((items < 1) || (items > 1)) {
3122 SWIG_croak("Usage: Device_accept(self);");
3124 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3125 if (!SWIG_IsOK(res1)) {
3126 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_accept" "', argument " "1"" of type '" "Device *""'");
3128 arg1 = (Device *)(argp1);
3129 result = (DirectTCPConnection *)Device_accept(arg1);
3130 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DirectTCPConnection, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3140 XS(_wrap_Device_connect) {
3142 Device *arg1 = (Device *) 0 ;
3144 DirectTCPAddr *arg3 = (DirectTCPAddr *) 0 ;
3148 DirectTCPConnection *result = 0 ;
3151 if ((items < 3) || (items > 3)) {
3152 SWIG_croak("Usage: Device_connect(self,for_writing,addrs);");
3154 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3155 if (!SWIG_IsOK(res1)) {
3156 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_connect" "', argument " "1"" of type '" "Device *""'");
3158 arg1 = (Device *)(argp1);
3160 arg2 = SvTRUE(ST(1));
3166 if (!SvROK(ST(2)) || SvTYPE(SvRV(ST(2))) != SVt_PVAV) {
3167 SWIG_exception_fail(SWIG_TypeError, "must provide an arrayref of DirectTCPAddrs");
3169 addrs_av = (AV *)SvRV(ST(2));
3170 num_addrs = av_len(addrs_av)+1;
3172 arg3 = g_new0(DirectTCPAddr, num_addrs+1);
3174 for (i = 0; i < num_addrs; i++) {
3175 SV **svp = av_fetch(addrs_av, i, 0);
3177 struct in_addr addr;
3180 if (!svp || !SvROK(*svp) || SvTYPE(SvRV(*svp)) != SVt_PVAV
3181 || av_len((AV *)SvRV(*svp))+1 != 2) {
3182 SWIG_exception_fail(SWIG_TypeError, "each DirectTCPAddr must be a 2-element arrayref");
3185 addr_av = (AV *)SvRV(*svp);
3188 svp = av_fetch(addr_av, 0, 0);
3189 if (!svp || !SvPOK(*svp) || !inet_aton(SvPV_nolen(*svp), &addr)) {
3190 SWIG_exception_fail(SWIG_TypeError, "invalid IPv4 addr in address");
3192 arg3[i].ipv4 = ntohl(addr.s_addr);
3195 svp = av_fetch(addr_av, 1, 0);
3196 if (!svp || !SvIOK(*svp) || (port = SvIV(*svp)) <= 0 || port >= 65536) {
3197 SWIG_exception_fail(SWIG_TypeError, "invalid port in address");
3199 arg3[i].port = (guint16)port;
3202 result = (DirectTCPConnection *)Device_connect(arg1,arg2,arg3);
3203 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_DirectTCPConnection, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
3217 XS(_wrap_Device_use_connection) {
3219 Device *arg1 = (Device *) 0 ;
3220 DirectTCPConnection *arg2 = (DirectTCPConnection *) 0 ;
3229 if ((items < 2) || (items > 2)) {
3230 SWIG_croak("Usage: Device_use_connection(self,conn);");
3232 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3233 if (!SWIG_IsOK(res1)) {
3234 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_use_connection" "', argument " "1"" of type '" "Device *""'");
3236 arg1 = (Device *)(argp1);
3237 res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_DirectTCPConnection, 0 | 0 );
3238 if (!SWIG_IsOK(res2)) {
3239 SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Device_use_connection" "', argument " "2"" of type '" "DirectTCPConnection *""'");
3241 arg2 = (DirectTCPConnection *)(argp2);
3242 result = (gboolean)Device_use_connection(arg1,arg2);
3245 ST(argvi) = &PL_sv_yes;
3247 ST(argvi) = &PL_sv_no;
3261 XS(_wrap_Device_write_from_connection) {
3263 Device *arg1 = (Device *) 0 ;
3265 guint64 *arg3 = (guint64 *) 0 ;
3277 if ((items < 2) || (items > 2)) {
3278 SWIG_croak("Usage: Device_write_from_connection(self,size);");
3280 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3281 if (!SWIG_IsOK(res1)) {
3282 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_write_from_connection" "', argument " "1"" of type '" "Device *""'");
3284 arg1 = (Device *)(argp1);
3286 arg2 = amglue_SvU64(ST(1));
3288 result = (gboolean)Device_write_from_connection(arg1,arg2,arg3);
3291 ST(argvi) = &PL_sv_yes;
3293 ST(argvi) = &PL_sv_no;
3297 SP += argvi; PUTBACK;
3298 ST(argvi) = sv_2mortal(amglue_newSVu64(*arg3));
3299 SPAGAIN; SP -= argvi; argvi++;
3312 XS(_wrap_Device_read_to_connection) {
3314 Device *arg1 = (Device *) 0 ;
3316 guint64 *arg3 = (guint64 *) 0 ;
3328 if ((items < 2) || (items > 2)) {
3329 SWIG_croak("Usage: Device_read_to_connection(self,size);");
3331 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3332 if (!SWIG_IsOK(res1)) {
3333 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_read_to_connection" "', argument " "1"" of type '" "Device *""'");
3335 arg1 = (Device *)(argp1);
3337 arg2 = amglue_SvU64(ST(1));
3339 result = (gboolean)Device_read_to_connection(arg1,arg2,arg3);
3342 ST(argvi) = &PL_sv_yes;
3344 ST(argvi) = &PL_sv_no;
3348 SP += argvi; PUTBACK;
3349 ST(argvi) = sv_2mortal(amglue_newSVu64(*arg3));
3350 SPAGAIN; SP -= argvi; argvi++;
3363 XS(_wrap_Device_property_list) {
3365 Device *arg1 = (Device *) 0 ;
3369 GSList *result = 0 ;
3372 if ((items < 1) || (items > 1)) {
3373 SWIG_croak("Usage: Device_property_list(self);");
3375 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3376 if (!SWIG_IsOK(res1)) {
3377 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_property_list" "', argument " "1"" of type '" "Device *""'");
3379 arg1 = (Device *)(argp1);
3380 result = (GSList *)Device_property_list(arg1);
3384 /* Count the DeviceProperties */
3385 EXTEND(SP, g_slist_length(result)); /* make room for return values */
3387 /* Note that we set ST(argvi) several times. the nature of
3388 * SWIG's wrapping is such that incrementing argvi points
3389 * ST(argvi) to the next location in perl's argument stack.
3392 for (iter = result; iter; iter = g_slist_next(iter)) {
3393 DeviceProperty *prop = iter->data;
3395 SV *rv = newRV_noinc((SV *)hash);
3397 hv_store(hash, "name", 4,
3398 newSVpv(prop->base->name, 0), 0);
3399 hv_store(hash, "description", 11,
3400 newSVpv(prop->base->description, 0), 0);
3401 hv_store(hash, "access", 6,
3402 newSViv(prop->access), 0);
3403 ST(argvi) = sv_2mortal(rv);
3416 XS(_wrap_Device_property_get) {
3418 Device *arg1 = (Device *) 0 ;
3419 DevicePropertyBase *arg2 = (DevicePropertyBase *) 0 ;
3420 GValue *arg3 = (GValue *) 0 ;
3421 PropertySurety *arg4 = (PropertySurety *) 0 ;
3422 PropertySource *arg5 = (PropertySource *) 0 ;
3423 gboolean *arg6 = (gboolean *) 0 ;
3427 PropertySurety surety3 ;
3428 PropertySource source3 ;
3434 memset(&val3, 0, sizeof(val3));
3436 if (GIMME_V == G_ARRAY) {
3442 if ((items < 2) || (items > 2)) {
3443 SWIG_croak("Usage: Device_property_get(self,pbase,surety,source,val_found);");
3445 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3446 if (!SWIG_IsOK(res1)) {
3447 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_property_get" "', argument " "1"" of type '" "Device *""'");
3449 arg1 = (Device *)(argp1);
3454 pname = SvPV_nolen(ST(1));
3457 arg2 = (DevicePropertyBase *)device_property_get_by_name(pname);
3461 Device_property_get(arg1,arg2,arg3,arg4,arg5,arg6);
3462 ST(argvi) = sv_newmortal();
3464 /* if the result is valid */
3466 /* move data from arg3 to ST(argvi), somehow, being careful to
3467 * save the perl stack while doing so */
3468 SP += argvi; PUTBACK;
3469 ST(argvi) = set_sv_from_gvalue(arg3);
3470 SPAGAIN; SP -= argvi; argvi++;
3472 /* free any memory for the GValue */
3473 g_value_unset(arg3);
3475 if (GIMME_V == G_ARRAY) {
3476 ST(argvi) = newSViv(*arg4);
3478 ST(argvi) = newSViv(*arg5);
3482 /* otherwise, return nothing */
3495 XS(_wrap_Device_property_set) {
3497 Device *arg1 = (Device *) 0 ;
3498 DevicePropertyBase *arg2 = (DevicePropertyBase *) 0 ;
3499 SV *arg3 = (SV *) 0 ;
3506 if ((items < 3) || (items > 3)) {
3507 SWIG_croak("Usage: Device_property_set(self,pbase,sv);");
3509 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3510 if (!SWIG_IsOK(res1)) {
3511 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_property_set" "', argument " "1"" of type '" "Device *""'");
3513 arg1 = (Device *)(argp1);
3518 pname = SvPV_nolen(ST(1));
3521 arg2 = (DevicePropertyBase *)device_property_get_by_name(pname);
3526 result = (gboolean)Device_property_set(arg1,arg2,arg3);
3529 ST(argvi) = &PL_sv_yes;
3531 ST(argvi) = &PL_sv_no;
3547 XS(_wrap_Device_property_set_ex) {
3549 Device *arg1 = (Device *) 0 ;
3550 DevicePropertyBase *arg2 = (DevicePropertyBase *) 0 ;
3551 SV *arg3 = (SV *) 0 ;
3552 PropertySurety arg4 ;
3553 PropertySource arg5 ;
3560 if ((items < 5) || (items > 5)) {
3561 SWIG_croak("Usage: Device_property_set_ex(self,pbase,sv,surety,source);");
3563 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3564 if (!SWIG_IsOK(res1)) {
3565 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_property_set_ex" "', argument " "1"" of type '" "Device *""'");
3567 arg1 = (Device *)(argp1);
3572 pname = SvPV_nolen(ST(1));
3575 arg2 = (DevicePropertyBase *)device_property_get_by_name(pname);
3581 if (sizeof(signed int) == 1) {
3582 arg4 = amglue_SvI8(ST(3));
3583 } else if (sizeof(signed int) == 2) {
3584 arg4 = amglue_SvI16(ST(3));
3585 } else if (sizeof(signed int) == 4) {
3586 arg4 = amglue_SvI32(ST(3));
3587 } else if (sizeof(signed int) == 8) {
3588 arg4 = amglue_SvI64(ST(3));
3590 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
3594 if (sizeof(signed int) == 1) {
3595 arg5 = amglue_SvI8(ST(4));
3596 } else if (sizeof(signed int) == 2) {
3597 arg5 = amglue_SvI16(ST(4));
3598 } else if (sizeof(signed int) == 4) {
3599 arg5 = amglue_SvI32(ST(4));
3600 } else if (sizeof(signed int) == 8) {
3601 arg5 = amglue_SvI64(ST(4));
3603 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
3606 result = (gboolean)Device_property_set_ex(arg1,arg2,arg3,arg4,arg5);
3609 ST(argvi) = &PL_sv_yes;
3611 ST(argvi) = &PL_sv_no;
3631 XS(_wrap_Device_recycle_file) {
3633 Device *arg1 = (Device *) 0 ;
3641 if ((items < 2) || (items > 2)) {
3642 SWIG_croak("Usage: Device_recycle_file(self,filenum);");
3644 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3645 if (!SWIG_IsOK(res1)) {
3646 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_recycle_file" "', argument " "1"" of type '" "Device *""'");
3648 arg1 = (Device *)(argp1);
3650 if (sizeof(guint) == 1) {
3651 arg2 = amglue_SvU8(ST(1));
3652 } else if (sizeof(guint) == 2) {
3653 arg2 = amglue_SvU16(ST(1));
3654 } else if (sizeof(guint) == 4) {
3655 arg2 = amglue_SvU32(ST(1));
3656 } else if (sizeof(guint) == 8) {
3657 arg2 = amglue_SvU64(ST(1));
3659 croak("Unexpected guint >64 bits?"); /* should be optimized out unless sizeof(guint) > 8 */
3662 result = (gboolean)Device_recycle_file(arg1,arg2);
3665 ST(argvi) = &PL_sv_yes;
3667 ST(argvi) = &PL_sv_no;
3679 XS(_wrap_Device_file) {
3681 Device *arg1 = (Device *) 0 ;
3688 if ((items < 1) || (items > 1)) {
3689 SWIG_croak("Usage: Device_file(self);");
3691 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3692 if (!SWIG_IsOK(res1)) {
3693 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_file" "', argument " "1"" of type '" "Device *""'");
3695 arg1 = (Device *)(argp1);
3696 result = (int)Device_file(arg1);
3699 SP += argvi; PUTBACK;
3700 for_stack = sv_2mortal(amglue_newSVi64(result));
3701 SPAGAIN; SP -= argvi;
3702 ST(argvi) = for_stack;
3714 XS(_wrap_Device_block) {
3716 Device *arg1 = (Device *) 0 ;
3723 if ((items < 1) || (items > 1)) {
3724 SWIG_croak("Usage: Device_block(self);");
3726 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3727 if (!SWIG_IsOK(res1)) {
3728 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_block" "', argument " "1"" of type '" "Device *""'");
3730 arg1 = (Device *)(argp1);
3731 result = Device_block(arg1);
3734 SP += argvi; PUTBACK;
3735 for_stack = sv_2mortal(amglue_newSVu64(result));
3736 SPAGAIN; SP -= argvi;
3737 ST(argvi) = for_stack;
3749 XS(_wrap_Device_in_file) {
3751 Device *arg1 = (Device *) 0 ;
3758 if ((items < 1) || (items > 1)) {
3759 SWIG_croak("Usage: Device_in_file(self);");
3761 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3762 if (!SWIG_IsOK(res1)) {
3763 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_in_file" "', argument " "1"" of type '" "Device *""'");
3765 arg1 = (Device *)(argp1);
3766 result = (gboolean)Device_in_file(arg1);
3769 ST(argvi) = &PL_sv_yes;
3771 ST(argvi) = &PL_sv_no;
3783 XS(_wrap_Device_device_name) {
3785 Device *arg1 = (Device *) 0 ;
3792 if ((items < 1) || (items > 1)) {
3793 SWIG_croak("Usage: Device_device_name(self);");
3795 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3796 if (!SWIG_IsOK(res1)) {
3797 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_device_name" "', argument " "1"" of type '" "Device *""'");
3799 arg1 = (Device *)(argp1);
3800 result = (char *)Device_device_name(arg1);
3801 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
3811 XS(_wrap_Device_access_mode) {
3813 Device *arg1 = (Device *) 0 ;
3817 DeviceAccessMode result;
3820 if ((items < 1) || (items > 1)) {
3821 SWIG_croak("Usage: Device_access_mode(self);");
3823 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3824 if (!SWIG_IsOK(res1)) {
3825 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_access_mode" "', argument " "1"" of type '" "Device *""'");
3827 arg1 = (Device *)(argp1);
3828 result = (DeviceAccessMode)Device_access_mode(arg1);
3831 SP += argvi; PUTBACK;
3832 for_stack = sv_2mortal(amglue_newSVi64(result));
3833 SPAGAIN; SP -= argvi;
3834 ST(argvi) = for_stack;
3846 XS(_wrap_Device_is_eof) {
3848 Device *arg1 = (Device *) 0 ;
3855 if ((items < 1) || (items > 1)) {
3856 SWIG_croak("Usage: Device_is_eof(self);");
3858 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3859 if (!SWIG_IsOK(res1)) {
3860 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_is_eof" "', argument " "1"" of type '" "Device *""'");
3862 arg1 = (Device *)(argp1);
3863 result = (gboolean)Device_is_eof(arg1);
3866 ST(argvi) = &PL_sv_yes;
3868 ST(argvi) = &PL_sv_no;
3880 XS(_wrap_Device_is_eom) {
3882 Device *arg1 = (Device *) 0 ;
3889 if ((items < 1) || (items > 1)) {
3890 SWIG_croak("Usage: Device_is_eom(self);");
3892 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3893 if (!SWIG_IsOK(res1)) {
3894 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_is_eom" "', argument " "1"" of type '" "Device *""'");
3896 arg1 = (Device *)(argp1);
3897 result = (gboolean)Device_is_eom(arg1);
3900 ST(argvi) = &PL_sv_yes;
3902 ST(argvi) = &PL_sv_no;
3914 XS(_wrap_Device_volume_label) {
3916 Device *arg1 = (Device *) 0 ;
3923 if ((items < 1) || (items > 1)) {
3924 SWIG_croak("Usage: Device_volume_label(self);");
3926 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3927 if (!SWIG_IsOK(res1)) {
3928 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_volume_label" "', argument " "1"" of type '" "Device *""'");
3930 arg1 = (Device *)(argp1);
3931 result = (char *)Device_volume_label(arg1);
3932 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
3942 XS(_wrap_Device_volume_time) {
3944 Device *arg1 = (Device *) 0 ;
3951 if ((items < 1) || (items > 1)) {
3952 SWIG_croak("Usage: Device_volume_time(self);");
3954 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3955 if (!SWIG_IsOK(res1)) {
3956 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_volume_time" "', argument " "1"" of type '" "Device *""'");
3958 arg1 = (Device *)(argp1);
3959 result = (char *)Device_volume_time(arg1);
3960 ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ;
3970 XS(_wrap_Device_status) {
3972 Device *arg1 = (Device *) 0 ;
3976 DeviceStatusFlags result;
3979 if ((items < 1) || (items > 1)) {
3980 SWIG_croak("Usage: Device_status(self);");
3982 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
3983 if (!SWIG_IsOK(res1)) {
3984 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_status" "', argument " "1"" of type '" "Device *""'");
3986 arg1 = (Device *)(argp1);
3987 result = (DeviceStatusFlags)Device_status(arg1);
3990 SP += argvi; PUTBACK;
3991 for_stack = sv_2mortal(amglue_newSVi64(result));
3992 SPAGAIN; SP -= argvi;
3993 ST(argvi) = for_stack;
4005 XS(_wrap_Device_min_block_size) {
4007 Device *arg1 = (Device *) 0 ;
4014 if ((items < 1) || (items > 1)) {
4015 SWIG_croak("Usage: Device_min_block_size(self);");
4017 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
4018 if (!SWIG_IsOK(res1)) {
4019 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_min_block_size" "', argument " "1"" of type '" "Device *""'");
4021 arg1 = (Device *)(argp1);
4022 result = Device_min_block_size(arg1);
4025 SP += argvi; PUTBACK;
4026 for_stack = sv_2mortal(amglue_newSVu64(result));
4027 SPAGAIN; SP -= argvi;
4028 ST(argvi) = for_stack;
4040 XS(_wrap_Device_max_block_size) {
4042 Device *arg1 = (Device *) 0 ;
4049 if ((items < 1) || (items > 1)) {
4050 SWIG_croak("Usage: Device_max_block_size(self);");
4052 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
4053 if (!SWIG_IsOK(res1)) {
4054 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_max_block_size" "', argument " "1"" of type '" "Device *""'");
4056 arg1 = (Device *)(argp1);
4057 result = Device_max_block_size(arg1);
4060 SP += argvi; PUTBACK;
4061 for_stack = sv_2mortal(amglue_newSVu64(result));
4062 SPAGAIN; SP -= argvi;
4063 ST(argvi) = for_stack;
4075 XS(_wrap_Device_block_size) {
4077 Device *arg1 = (Device *) 0 ;
4084 if ((items < 1) || (items > 1)) {
4085 SWIG_croak("Usage: Device_block_size(self);");
4087 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
4088 if (!SWIG_IsOK(res1)) {
4089 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_block_size" "', argument " "1"" of type '" "Device *""'");
4091 arg1 = (Device *)(argp1);
4092 result = Device_block_size(arg1);
4095 SP += argvi; PUTBACK;
4096 for_stack = sv_2mortal(amglue_newSVu64(result));
4097 SPAGAIN; SP -= argvi;
4098 ST(argvi) = for_stack;
4110 XS(_wrap_Device_volume_header) {
4112 Device *arg1 = (Device *) 0 ;
4116 dumpfile_t *result = 0 ;
4119 if ((items < 1) || (items > 1)) {
4120 SWIG_croak("Usage: Device_volume_header(self);");
4122 res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_Device, 0 | 0 );
4123 if (!SWIG_IsOK(res1)) {
4124 SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Device_volume_header" "', argument " "1"" of type '" "Device *""'");
4126 arg1 = (Device *)(argp1);
4127 result = (dumpfile_t *)Device_volume_header(arg1);
4128 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_dumpfile_t, 0 | SWIG_SHADOW); argvi++ ;
4138 XS(_wrap_rait_device_open_from_children) {
4140 GSList *arg1 = (GSList *) 0 ;
4142 Device *result = 0 ;
4145 if ((items < 1) || (items > 1)) {
4146 SWIG_croak("Usage: rait_device_open_from_children(child_devices);");
4152 if (!SvROK(ST(0)) || SvTYPE(SvRV(ST(0))) != SVt_PVAV) {
4153 SWIG_exception(SWIG_TypeError, "Expected an arrayref");
4155 av = (AV *)SvRV(ST(0));
4159 for (i = 0; i <= len; i++) {
4160 SV **elt = av_fetch(av, i, 0);
4163 if (elt && !SvOK(*elt)) {
4164 arg1 = g_slist_append(arg1, NULL); /* 'undef' => NULL */
4165 } else if (!elt || SWIG_ConvertPtr(*elt, (void **)&d, SWIGTYPE_p_Device, 0) == -1) {
4166 SWIG_exception(SWIG_TypeError, "array member is not a Device");
4168 arg1 = g_slist_append(arg1, d);
4172 result = (Device *)rait_device_open_from_children(arg1);
4173 ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_Device, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
4187 XS(_wrap_write_random_to_device) {
4191 Device *arg3 = (Device *) 0 ;
4198 if ((items < 3) || (items > 3)) {
4199 SWIG_croak("Usage: write_random_to_device(seed,length,device);");
4202 arg1 = amglue_SvU32(ST(0));
4205 if (sizeof(size_t) == 1) {
4206 arg2 = amglue_SvU8(ST(1));
4207 } else if (sizeof(size_t) == 2) {
4208 arg2 = amglue_SvU16(ST(1));
4209 } else if (sizeof(size_t) == 4) {
4210 arg2 = amglue_SvU32(ST(1));
4211 } else if (sizeof(size_t) == 8) {
4212 arg2 = amglue_SvU64(ST(1));
4214 croak("Unexpected size_t >64 bits?"); /* should be optimized out unless sizeof(size_t) > 8 */
4217 res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_Device, 0 | 0 );
4218 if (!SWIG_IsOK(res3)) {
4219 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "write_random_to_device" "', argument " "3"" of type '" "Device *""'");
4221 arg3 = (Device *)(argp3);
4222 result = (gboolean)write_random_to_device(arg1,arg2,arg3);
4225 ST(argvi) = &PL_sv_yes;
4227 ST(argvi) = &PL_sv_no;
4241 XS(_wrap_verify_random_from_device) {
4245 Device *arg3 = (Device *) 0 ;
4252 if ((items < 3) || (items > 3)) {
4253 SWIG_croak("Usage: verify_random_from_device(seed,length,device);");
4256 arg1 = amglue_SvU32(ST(0));
4259 if (sizeof(size_t) == 1) {
4260 arg2 = amglue_SvU8(ST(1));
4261 } else if (sizeof(size_t) == 2) {
4262 arg2 = amglue_SvU16(ST(1));
4263 } else if (sizeof(size_t) == 4) {
4264 arg2 = amglue_SvU32(ST(1));
4265 } else if (sizeof(size_t) == 8) {
4266 arg2 = amglue_SvU64(ST(1));
4268 croak("Unexpected size_t >64 bits?"); /* should be optimized out unless sizeof(size_t) > 8 */
4271 res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_Device, 0 | 0 );
4272 if (!SWIG_IsOK(res3)) {
4273 SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "verify_random_from_device" "', argument " "3"" of type '" "Device *""'");
4275 arg3 = (Device *)(argp3);
4276 result = (gboolean)verify_random_from_device(arg1,arg2,arg3);
4279 ST(argvi) = &PL_sv_yes;
4281 ST(argvi) = &PL_sv_no;
4295 XS(_wrap_IS_WRITABLE_ACCESS_MODE) {
4297 DeviceAccessMode arg1 ;
4302 if ((items < 1) || (items > 1)) {
4303 SWIG_croak("Usage: IS_WRITABLE_ACCESS_MODE(mode);");
4306 if (sizeof(signed int) == 1) {
4307 arg1 = amglue_SvI8(ST(0));
4308 } else if (sizeof(signed int) == 2) {
4309 arg1 = amglue_SvI16(ST(0));
4310 } else if (sizeof(signed int) == 4) {
4311 arg1 = amglue_SvI32(ST(0));
4312 } else if (sizeof(signed int) == 8) {
4313 arg1 = amglue_SvI64(ST(0));
4315 g_critical("Unexpected signed int >64 bits?"); /* should be optimized out unless sizeof(signed int) > 8 */
4318 result = (gboolean)IS_WRITABLE_ACCESS_MODE(arg1);
4321 ST(argvi) = &PL_sv_yes;
4323 ST(argvi) = &PL_sv_no;
4336 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
4338 static swig_type_info _swigt__p_Device = {"_p_Device", "struct Device *|Device *", 0, 0, (void*)"Amanda::Device::Device", 0};
4339 static swig_type_info _swigt__p_DevicePropertyBase = {"_p_DevicePropertyBase", "DevicePropertyBase *", 0, 0, (void*)0, 0};
4340 static swig_type_info _swigt__p_DirectTCPAddr = {"_p_DirectTCPAddr", "DirectTCPAddr *", 0, 0, (void*)0, 0};
4341 static swig_type_info _swigt__p_DirectTCPConnection = {"_p_DirectTCPConnection", "struct DirectTCPConnection *|DirectTCPConnection *", 0, 0, (void*)"Amanda::Device::DirectTCPConnection", 0};
4342 static swig_type_info _swigt__p_GSList = {"_p_GSList", "GSList *", 0, 0, (void*)0, 0};
4343 static swig_type_info _swigt__p_GValue = {"_p_GValue", "GValue *", 0, 0, (void*)0, 0};
4344 static swig_type_info _swigt__p_a_STRMAX__char = {"_p_a_STRMAX__char", "char (*)[STRMAX]|string_t *", 0, 0, (void*)0, 0};
4345 static swig_type_info _swigt__p_char = {"_p_char", "gchar *|char *", 0, 0, (void*)0, 0};
4346 static swig_type_info _swigt__p_double = {"_p_double", "double *|gdouble *", 0, 0, (void*)0, 0};
4347 static swig_type_info _swigt__p_dumpfile_t = {"_p_dumpfile_t", "dumpfile_t *", 0, 0, (void*)"Amanda::Header::Header", 0};
4348 static swig_type_info _swigt__p_float = {"_p_float", "float *|gfloat *", 0, 0, (void*)0, 0};
4349 static swig_type_info _swigt__p_guint = {"_p_guint", "guint *", 0, 0, (void*)0, 0};
4350 static swig_type_info _swigt__p_guint32 = {"_p_guint32", "guint32 *", 0, 0, (void*)0, 0};
4351 static swig_type_info _swigt__p_guint64 = {"_p_guint64", "guint64 *", 0, 0, (void*)0, 0};
4352 static swig_type_info _swigt__p_int = {"_p_int", "int *|PropertySurety *|ConcurrencyParadigm *|filetype_t *|PropertySource *|StreamingRequirement *|gboolean *|DeviceAccessMode *|MediaAccessMode *|DeviceStatusFlags *|PropertyPhaseFlags *|PropertyAccessFlags *", 0, 0, (void*)0, 0};
4353 static swig_type_info _swigt__p_p_DirectTCPAddr = {"_p_p_DirectTCPAddr", "DirectTCPAddr **", 0, 0, (void*)0, 0};
4354 static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "guchar *|unsigned char *", 0, 0, (void*)0, 0};
4356 static swig_type_info *swig_type_initial[] = {
4358 &_swigt__p_DevicePropertyBase,
4359 &_swigt__p_DirectTCPAddr,
4360 &_swigt__p_DirectTCPConnection,
4363 &_swigt__p_a_STRMAX__char,
4366 &_swigt__p_dumpfile_t,
4372 &_swigt__p_p_DirectTCPAddr,
4373 &_swigt__p_unsigned_char,
4376 static swig_cast_info _swigc__p_Device[] = { {&_swigt__p_Device, 0, 0, 0},{0, 0, 0, 0}};
4377 static swig_cast_info _swigc__p_DevicePropertyBase[] = { {&_swigt__p_DevicePropertyBase, 0, 0, 0},{0, 0, 0, 0}};
4378 static swig_cast_info _swigc__p_DirectTCPAddr[] = { {&_swigt__p_DirectTCPAddr, 0, 0, 0},{0, 0, 0, 0}};
4379 static swig_cast_info _swigc__p_DirectTCPConnection[] = { {&_swigt__p_DirectTCPConnection, 0, 0, 0},{0, 0, 0, 0}};
4380 static swig_cast_info _swigc__p_GSList[] = { {&_swigt__p_GSList, 0, 0, 0},{0, 0, 0, 0}};
4381 static swig_cast_info _swigc__p_GValue[] = { {&_swigt__p_GValue, 0, 0, 0},{0, 0, 0, 0}};
4382 static swig_cast_info _swigc__p_a_STRMAX__char[] = { {&_swigt__p_a_STRMAX__char, 0, 0, 0},{0, 0, 0, 0}};
4383 static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
4384 static swig_cast_info _swigc__p_double[] = { {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
4385 static swig_cast_info _swigc__p_dumpfile_t[] = { {&_swigt__p_dumpfile_t, 0, 0, 0},{0, 0, 0, 0}};
4386 static swig_cast_info _swigc__p_float[] = { {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
4387 static swig_cast_info _swigc__p_guint[] = { {&_swigt__p_guint, 0, 0, 0},{0, 0, 0, 0}};
4388 static swig_cast_info _swigc__p_guint32[] = { {&_swigt__p_guint32, 0, 0, 0},{0, 0, 0, 0}};
4389 static swig_cast_info _swigc__p_guint64[] = { {&_swigt__p_guint64, 0, 0, 0},{0, 0, 0, 0}};
4390 static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
4391 static swig_cast_info _swigc__p_p_DirectTCPAddr[] = { {&_swigt__p_p_DirectTCPAddr, 0, 0, 0},{0, 0, 0, 0}};
4392 static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
4394 static swig_cast_info *swig_cast_initial[] = {
4396 _swigc__p_DevicePropertyBase,
4397 _swigc__p_DirectTCPAddr,
4398 _swigc__p_DirectTCPConnection,
4401 _swigc__p_a_STRMAX__char,
4404 _swigc__p_dumpfile_t,
4410 _swigc__p_p_DirectTCPAddr,
4411 _swigc__p_unsigned_char,
4415 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
4417 static swig_constant_info swig_constants[] = {
4423 static swig_variable_info swig_variables[] = {
4426 static swig_command_info swig_commands[] = {
4427 {"Amanda::Devicec::delete_DirectTCPConnection", _wrap_delete_DirectTCPConnection},
4428 {"Amanda::Devicec::DirectTCPConnection_close", _wrap_DirectTCPConnection_close},
4429 {"Amanda::Devicec::new_DirectTCPConnection", _wrap_new_DirectTCPConnection},
4430 {"Amanda::Devicec::unaliased_name", _wrap_unaliased_name},
4431 {"Amanda::Devicec::new_Device", _wrap_new_Device},
4432 {"Amanda::Devicec::delete_Device", _wrap_delete_Device},
4433 {"Amanda::Devicec::Device_configure", _wrap_Device_configure},
4434 {"Amanda::Devicec::Device_error", _wrap_Device_error},
4435 {"Amanda::Devicec::Device_status_error", _wrap_Device_status_error},
4436 {"Amanda::Devicec::Device_error_or_status", _wrap_Device_error_or_status},
4437 {"Amanda::Devicec::Device_read_label", _wrap_Device_read_label},
4438 {"Amanda::Devicec::Device_start", _wrap_Device_start},
4439 {"Amanda::Devicec::Device_finish", _wrap_Device_finish},
4440 {"Amanda::Devicec::Device_start_file", _wrap_Device_start_file},
4441 {"Amanda::Devicec::Device_write_block", _wrap_Device_write_block},
4442 {"Amanda::Devicec::Device_finish_file", _wrap_Device_finish_file},
4443 {"Amanda::Devicec::Device_seek_file", _wrap_Device_seek_file},
4444 {"Amanda::Devicec::Device_seek_block", _wrap_Device_seek_block},
4445 {"Amanda::Devicec::Device_read_block", _wrap_Device_read_block},
4446 {"Amanda::Devicec::Device_erase", _wrap_Device_erase},
4447 {"Amanda::Devicec::Device_eject", _wrap_Device_eject},
4448 {"Amanda::Devicec::Device_directtcp_supported", _wrap_Device_directtcp_supported},
4449 {"Amanda::Devicec::Device_listen", _wrap_Device_listen},
4450 {"Amanda::Devicec::Device_accept", _wrap_Device_accept},
4451 {"Amanda::Devicec::Device_connect", _wrap_Device_connect},
4452 {"Amanda::Devicec::Device_use_connection", _wrap_Device_use_connection},
4453 {"Amanda::Devicec::Device_write_from_connection", _wrap_Device_write_from_connection},
4454 {"Amanda::Devicec::Device_read_to_connection", _wrap_Device_read_to_connection},
4455 {"Amanda::Devicec::Device_property_list", _wrap_Device_property_list},
4456 {"Amanda::Devicec::Device_property_get", _wrap_Device_property_get},
4457 {"Amanda::Devicec::Device_property_set", _wrap_Device_property_set},
4458 {"Amanda::Devicec::Device_property_set_ex", _wrap_Device_property_set_ex},
4459 {"Amanda::Devicec::Device_recycle_file", _wrap_Device_recycle_file},
4460 {"Amanda::Devicec::Device_file", _wrap_Device_file},
4461 {"Amanda::Devicec::Device_block", _wrap_Device_block},
4462 {"Amanda::Devicec::Device_in_file", _wrap_Device_in_file},
4463 {"Amanda::Devicec::Device_device_name", _wrap_Device_device_name},
4464 {"Amanda::Devicec::Device_access_mode", _wrap_Device_access_mode},
4465 {"Amanda::Devicec::Device_is_eof", _wrap_Device_is_eof},
4466 {"Amanda::Devicec::Device_is_eom", _wrap_Device_is_eom},
4467 {"Amanda::Devicec::Device_volume_label", _wrap_Device_volume_label},
4468 {"Amanda::Devicec::Device_volume_time", _wrap_Device_volume_time},
4469 {"Amanda::Devicec::Device_status", _wrap_Device_status},
4470 {"Amanda::Devicec::Device_min_block_size", _wrap_Device_min_block_size},
4471 {"Amanda::Devicec::Device_max_block_size", _wrap_Device_max_block_size},
4472 {"Amanda::Devicec::Device_block_size", _wrap_Device_block_size},
4473 {"Amanda::Devicec::Device_volume_header", _wrap_Device_volume_header},
4474 {"Amanda::Devicec::rait_device_open_from_children", _wrap_rait_device_open_from_children},
4475 {"Amanda::Devicec::write_random_to_device", _wrap_write_random_to_device},
4476 {"Amanda::Devicec::verify_random_from_device", _wrap_verify_random_from_device},
4477 {"Amanda::Devicec::IS_WRITABLE_ACCESS_MODE", _wrap_IS_WRITABLE_ACCESS_MODE},
4480 /* -----------------------------------------------------------------------------
4481 * Type initialization:
4482 * This problem is tough by the requirement that no dynamic
4483 * memory is used. Also, since swig_type_info structures store pointers to
4484 * swig_cast_info structures and swig_cast_info structures store pointers back
4485 * to swig_type_info structures, we need some lookup code at initialization.
4486 * The idea is that swig generates all the structures that are needed.
4487 * The runtime then collects these partially filled structures.
4488 * The SWIG_InitializeModule function takes these initial arrays out of
4489 * swig_module, and does all the lookup, filling in the swig_module.types
4490 * array with the correct data and linking the correct swig_cast_info
4491 * structures together.
4493 * The generated swig_type_info structures are assigned staticly to an initial
4494 * array. We just loop through that array, and handle each type individually.
4495 * First we lookup if this type has been already loaded, and if so, use the
4496 * loaded structure instead of the generated one. Then we have to fill in the
4497 * cast linked list. The cast data is initially stored in something like a
4498 * two-dimensional array. Each row corresponds to a type (there are the same
4499 * number of rows as there are in the swig_type_initial array). Each entry in
4500 * a column is one of the swig_cast_info structures for that type.
4501 * The cast_initial array is actually an array of arrays, because each row has
4502 * a variable number of columns. So to actually build the cast linked list,
4503 * we find the array of casts associated with the type, and loop through it
4504 * adding the casts to the list. The one last trick we need to do is making
4505 * sure the type pointer in the swig_cast_info struct is correct.
4507 * First off, we lookup the cast->type name to see if it is already loaded.
4508 * There are three cases to handle:
4509 * 1) If the cast->type has already been loaded AND the type we are adding
4510 * casting info to has not been loaded (it is in this module), THEN we
4511 * replace the cast->type pointer with the type pointer that has already
4513 * 2) If BOTH types (the one we are adding casting info to, and the
4514 * cast->type) are loaded, THEN the cast info has already been loaded by
4515 * the previous module so we just ignore it.
4516 * 3) Finally, if cast->type has not already been loaded, then we add that
4517 * swig_cast_info to the linked list (because the cast->type) pointer will
4519 * ----------------------------------------------------------------------------- */
4529 #define SWIGRUNTIME_DEBUG
4534 SWIG_InitializeModule(void *clientdata) {
4536 swig_module_info *module_head, *iter;
4539 clientdata = clientdata;
4541 /* check to see if the circular list has been setup, if not, set it up */
4542 if (swig_module.next==0) {
4543 /* Initialize the swig_module */
4544 swig_module.type_initial = swig_type_initial;
4545 swig_module.cast_initial = swig_cast_initial;
4546 swig_module.next = &swig_module;
4552 /* Try and load any already created modules */
4553 module_head = SWIG_GetModule(clientdata);
4555 /* This is the first module loaded for this interpreter */
4556 /* so set the swig module into the interpreter */
4557 SWIG_SetModule(clientdata, &swig_module);
4558 module_head = &swig_module;
4560 /* the interpreter has loaded a SWIG module, but has it loaded this one? */
4564 if (iter==&swig_module) {
4569 } while (iter!= module_head);
4571 /* if the is found in the list, then all is done and we may leave */
4573 /* otherwise we must add out module into the list */
4574 swig_module.next = module_head->next;
4575 module_head->next = &swig_module;
4578 /* When multiple interpeters are used, a module could have already been initialized in
4579 a different interpreter, but not yet have a pointer in this interpreter.
4580 In this case, we do not want to continue adding types... everything should be
4582 if (init == 0) return;
4584 /* Now work on filling in swig_module.types */
4585 #ifdef SWIGRUNTIME_DEBUG
4586 printf("SWIG_InitializeModule: size %d\n", swig_module.size);
4588 for (i = 0; i < swig_module.size; ++i) {
4589 swig_type_info *type = 0;
4590 swig_type_info *ret;
4591 swig_cast_info *cast;
4593 #ifdef SWIGRUNTIME_DEBUG
4594 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4597 /* if there is another module already loaded */
4598 if (swig_module.next != &swig_module) {
4599 type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
4602 /* Overwrite clientdata field */
4603 #ifdef SWIGRUNTIME_DEBUG
4604 printf("SWIG_InitializeModule: found type %s\n", type->name);
4606 if (swig_module.type_initial[i]->clientdata) {
4607 type->clientdata = swig_module.type_initial[i]->clientdata;
4608 #ifdef SWIGRUNTIME_DEBUG
4609 printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
4613 type = swig_module.type_initial[i];
4616 /* Insert casting types */
4617 cast = swig_module.cast_initial[i];
4618 while (cast->type) {
4619 /* Don't need to add information already in the list */
4621 #ifdef SWIGRUNTIME_DEBUG
4622 printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
4624 if (swig_module.next != &swig_module) {
4625 ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
4626 #ifdef SWIGRUNTIME_DEBUG
4627 if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
4631 if (type == swig_module.type_initial[i]) {
4632 #ifdef SWIGRUNTIME_DEBUG
4633 printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
4638 /* Check for casting already in the list */
4639 swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
4640 #ifdef SWIGRUNTIME_DEBUG
4641 if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
4643 if (!ocast) ret = 0;
4648 #ifdef SWIGRUNTIME_DEBUG
4649 printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
4652 type->cast->prev = cast;
4653 cast->next = type->cast;
4659 /* Set entry in modules->types array equal to the type */
4660 swig_module.types[i] = type;
4662 swig_module.types[i] = 0;
4664 #ifdef SWIGRUNTIME_DEBUG
4665 printf("**** SWIG_InitializeModule: Cast List ******\n");
4666 for (i = 0; i < swig_module.size; ++i) {
4668 swig_cast_info *cast = swig_module.cast_initial[i];
4669 printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
4670 while (cast->type) {
4671 printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
4675 printf("---- Total casts: %d\n",j);
4677 printf("**** SWIG_InitializeModule: Cast List ******\n");
4681 /* This function will propagate the clientdata field of type to
4682 * any new swig_type_info structures that have been added into the list
4683 * of equivalent types. It is like calling
4684 * SWIG_TypeClientData(type, clientdata) a second time.
4687 SWIG_PropagateClientData(void) {
4689 swig_cast_info *equiv;
4690 static int init_run = 0;
4692 if (init_run) return;
4695 for (i = 0; i < swig_module.size; i++) {
4696 if (swig_module.types[i]->clientdata) {
4697 equiv = swig_module.types[i]->cast;
4699 if (!equiv->converter) {
4700 if (equiv->type && !equiv->type->clientdata)
4701 SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
4703 equiv = equiv->next;
4727 SWIG_InitializeModule(0);
4729 /* Install commands */
4730 for (i = 0; swig_commands[i].name; i++) {
4731 newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__);
4734 /* Install variables */
4735 for (i = 0; swig_variables[i].name; i++) {
4737 sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI);
4738 if (swig_variables[i].type) {
4739 SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
4741 sv_setiv(sv,(IV) 0);
4743 swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get);
4746 /* Install constant */
4747 for (i = 0; swig_constants[i].type; i++) {
4749 sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI);
4750 switch(swig_constants[i].type) {
4752 sv_setiv(sv, (IV) swig_constants[i].lvalue);
4755 sv_setnv(sv, (double) swig_constants[i].dvalue);
4758 sv_setpv(sv, (char *) swig_constants[i].pvalue);
4761 SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
4764 SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
4773 /* Initialize the Device API on load */
4776 SWIG_TypeClientData(SWIGTYPE_p_DirectTCPConnection, (void*) "Amanda::Device::DirectTCPConnection");
4777 SWIG_TypeClientData(SWIGTYPE_p_Device, (void*) "Amanda::Device::Device");
4778 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4779 SV *sv = get_sv((char*) SWIG_prefix "ACCESS_NULL", TRUE | 0x2 | GV_ADDMULTI);
4780 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(ACCESS_NULL)));
4782 } while(0) /*@SWIG@*/;
4783 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4784 SV *sv = get_sv((char*) SWIG_prefix "ACCESS_READ", TRUE | 0x2 | GV_ADDMULTI);
4785 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(ACCESS_READ)));
4787 } while(0) /*@SWIG@*/;
4788 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4789 SV *sv = get_sv((char*) SWIG_prefix "ACCESS_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4790 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(ACCESS_WRITE)));
4792 } while(0) /*@SWIG@*/;
4793 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4794 SV *sv = get_sv((char*) SWIG_prefix "ACCESS_APPEND", TRUE | 0x2 | GV_ADDMULTI);
4795 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(ACCESS_APPEND)));
4797 } while(0) /*@SWIG@*/;
4798 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4799 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_SUCCESS", TRUE | 0x2 | GV_ADDMULTI);
4800 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_SUCCESS)));
4802 } while(0) /*@SWIG@*/;
4803 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4804 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_DEVICE_ERROR", TRUE | 0x2 | GV_ADDMULTI);
4805 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_DEVICE_ERROR)));
4807 } while(0) /*@SWIG@*/;
4808 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4809 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_DEVICE_BUSY", TRUE | 0x2 | GV_ADDMULTI);
4810 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_DEVICE_BUSY)));
4812 } while(0) /*@SWIG@*/;
4813 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4814 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_VOLUME_MISSING", TRUE | 0x2 | GV_ADDMULTI);
4815 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_VOLUME_MISSING)));
4817 } while(0) /*@SWIG@*/;
4818 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4819 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_VOLUME_UNLABELED", TRUE | 0x2 | GV_ADDMULTI);
4820 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_VOLUME_UNLABELED)));
4822 } while(0) /*@SWIG@*/;
4823 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4824 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_VOLUME_ERROR", TRUE | 0x2 | GV_ADDMULTI);
4825 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_VOLUME_ERROR)));
4827 } while(0) /*@SWIG@*/;
4828 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4829 SV *sv = get_sv((char*) SWIG_prefix "DEVICE_STATUS_FLAGS_MAX", TRUE | 0x2 | GV_ADDMULTI);
4830 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(DEVICE_STATUS_FLAGS_MAX)));
4832 } while(0) /*@SWIG@*/;
4833 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4834 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_BEFORE_START", TRUE | 0x2 | GV_ADDMULTI);
4835 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_BEFORE_START)));
4837 } while(0) /*@SWIG@*/;
4838 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4839 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_BETWEEN_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4840 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_BETWEEN_FILE_WRITE)));
4842 } while(0) /*@SWIG@*/;
4843 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4844 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_INSIDE_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4845 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_INSIDE_FILE_WRITE)));
4847 } while(0) /*@SWIG@*/;
4848 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4849 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_BETWEEN_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4850 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_BETWEEN_FILE_READ)));
4852 } while(0) /*@SWIG@*/;
4853 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4854 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_INSIDE_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4855 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_INSIDE_FILE_READ)));
4857 } while(0) /*@SWIG@*/;
4858 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4859 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_MAX", TRUE | 0x2 | GV_ADDMULTI);
4860 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_MAX)));
4862 } while(0) /*@SWIG@*/;
4863 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4864 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_MASK", TRUE | 0x2 | GV_ADDMULTI);
4865 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_MASK)));
4867 } while(0) /*@SWIG@*/;
4868 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4869 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_PHASE_SHIFT", TRUE | 0x2 | GV_ADDMULTI);
4870 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_PHASE_SHIFT)));
4872 } while(0) /*@SWIG@*/;
4873 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4874 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_BEFORE_START", TRUE | 0x2 | GV_ADDMULTI);
4875 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_BEFORE_START)));
4877 } while(0) /*@SWIG@*/;
4878 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4879 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_BETWEEN_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4880 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_BETWEEN_FILE_WRITE)));
4882 } while(0) /*@SWIG@*/;
4883 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4884 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_INSIDE_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4885 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_INSIDE_FILE_WRITE)));
4887 } while(0) /*@SWIG@*/;
4888 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4889 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_BETWEEN_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4890 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_BETWEEN_FILE_READ)));
4892 } while(0) /*@SWIG@*/;
4893 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4894 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_INSIDE_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4895 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_INSIDE_FILE_READ)));
4897 } while(0) /*@SWIG@*/;
4898 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4899 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_BEFORE_START", TRUE | 0x2 | GV_ADDMULTI);
4900 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_BEFORE_START)));
4902 } while(0) /*@SWIG@*/;
4903 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4904 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_BETWEEN_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4905 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_BETWEEN_FILE_WRITE)));
4907 } while(0) /*@SWIG@*/;
4908 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4909 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_INSIDE_FILE_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4910 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_INSIDE_FILE_WRITE)));
4912 } while(0) /*@SWIG@*/;
4913 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4914 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_BETWEEN_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4915 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_BETWEEN_FILE_READ)));
4917 } while(0) /*@SWIG@*/;
4918 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4919 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_INSIDE_FILE_READ", TRUE | 0x2 | GV_ADDMULTI);
4920 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_INSIDE_FILE_READ)));
4922 } while(0) /*@SWIG@*/;
4923 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4924 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_GET_MASK", TRUE | 0x2 | GV_ADDMULTI);
4925 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_GET_MASK)));
4927 } while(0) /*@SWIG@*/;
4928 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4929 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_ACCESS_SET_MASK", TRUE | 0x2 | GV_ADDMULTI);
4930 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_ACCESS_SET_MASK)));
4932 } while(0) /*@SWIG@*/;
4933 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4934 SV *sv = get_sv((char*) SWIG_prefix "CONCURRENCY_PARADIGM_EXCLUSIVE", TRUE | 0x2 | GV_ADDMULTI);
4935 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CONCURRENCY_PARADIGM_EXCLUSIVE)));
4937 } while(0) /*@SWIG@*/;
4938 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4939 SV *sv = get_sv((char*) SWIG_prefix "CONCURRENCY_PARADIGM_SHARED_READ", TRUE | 0x2 | GV_ADDMULTI);
4940 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CONCURRENCY_PARADIGM_SHARED_READ)));
4942 } while(0) /*@SWIG@*/;
4943 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4944 SV *sv = get_sv((char*) SWIG_prefix "CONCURRENCY_PARADIGM_RANDOM_ACCESS", TRUE | 0x2 | GV_ADDMULTI);
4945 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(CONCURRENCY_PARADIGM_RANDOM_ACCESS)));
4947 } while(0) /*@SWIG@*/;
4948 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4949 SV *sv = get_sv((char*) SWIG_prefix "STREAMING_REQUIREMENT_NONE", TRUE | 0x2 | GV_ADDMULTI);
4950 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(STREAMING_REQUIREMENT_NONE)));
4952 } while(0) /*@SWIG@*/;
4953 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4954 SV *sv = get_sv((char*) SWIG_prefix "STREAMING_REQUIREMENT_DESIRED", TRUE | 0x2 | GV_ADDMULTI);
4955 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(STREAMING_REQUIREMENT_DESIRED)));
4957 } while(0) /*@SWIG@*/;
4958 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4959 SV *sv = get_sv((char*) SWIG_prefix "STREAMING_REQUIREMENT_REQUIRED", TRUE | 0x2 | GV_ADDMULTI);
4960 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(STREAMING_REQUIREMENT_REQUIRED)));
4962 } while(0) /*@SWIG@*/;
4963 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4964 SV *sv = get_sv((char*) SWIG_prefix "MEDIA_ACCESS_MODE_READ_ONLY", TRUE | 0x2 | GV_ADDMULTI);
4965 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(MEDIA_ACCESS_MODE_READ_ONLY)));
4967 } while(0) /*@SWIG@*/;
4968 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4969 SV *sv = get_sv((char*) SWIG_prefix "MEDIA_ACCESS_MODE_WORM", TRUE | 0x2 | GV_ADDMULTI);
4970 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(MEDIA_ACCESS_MODE_WORM)));
4972 } while(0) /*@SWIG@*/;
4973 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4974 SV *sv = get_sv((char*) SWIG_prefix "MEDIA_ACCESS_MODE_READ_WRITE", TRUE | 0x2 | GV_ADDMULTI);
4975 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(MEDIA_ACCESS_MODE_READ_WRITE)));
4977 } while(0) /*@SWIG@*/;
4978 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4979 SV *sv = get_sv((char*) SWIG_prefix "MEDIA_ACCESS_MODE_WRITE_ONLY", TRUE | 0x2 | GV_ADDMULTI);
4980 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(MEDIA_ACCESS_MODE_WRITE_ONLY)));
4982 } while(0) /*@SWIG@*/;
4983 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4984 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_SURETY_BAD", TRUE | 0x2 | GV_ADDMULTI);
4985 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_SURETY_BAD)));
4987 } while(0) /*@SWIG@*/;
4988 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4989 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_SURETY_GOOD", TRUE | 0x2 | GV_ADDMULTI);
4990 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_SURETY_GOOD)));
4992 } while(0) /*@SWIG@*/;
4993 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4994 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_SOURCE_DEFAULT", TRUE | 0x2 | GV_ADDMULTI);
4995 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_SOURCE_DEFAULT)));
4997 } while(0) /*@SWIG@*/;
4998 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
4999 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_SOURCE_DETECTED", TRUE | 0x2 | GV_ADDMULTI);
5000 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_SOURCE_DETECTED)));
5002 } while(0) /*@SWIG@*/;
5003 /*@SWIG:/usr/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do {
5004 SV *sv = get_sv((char*) SWIG_prefix "PROPERTY_SOURCE_USER", TRUE | 0x2 | GV_ADDMULTI);
5005 sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(PROPERTY_SOURCE_USER)));
5007 } while(0) /*@SWIG@*/;