📄 g2_wrap.c
字号:
/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.13u-20020617-2210 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make * changes to this file unless you know what you are doing--modify the SWIG * interface file instead. * ----------------------------------------------------------------------------- *//*********************************************************************** * common.swg * * This file contains generic SWIG runtime support for pointer * type checking as well as a few commonly used macros to control * external linkage. * * Author : David Beazley (beazley@cs.uchicago.edu) * * Copyright (c) 1999-2000, The University of Chicago * * This file may be freely redistributed without license or fee provided * this copyright message remains intact. ************************************************************************/#include <string.h>#if defined(_WIN32) || defined(__WIN32__)# if defined(_MSC_VER)# if defined(STATIC_LINKED)# define SWIGEXPORT(a) a# define SWIGIMPORT(a) extern a# else# define SWIGEXPORT(a) __declspec(dllexport) a# define SWIGIMPORT(a) extern a# endif# else# if defined(__BORLANDC__)# define SWIGEXPORT(a) a _export# define SWIGIMPORT(a) a _export# else# define SWIGEXPORT(a) a# define SWIGIMPORT(a) a# endif# endif#else# define SWIGEXPORT(a) a# define SWIGIMPORT(a) a#endif#ifdef SWIG_GLOBAL#define SWIGRUNTIME(a) SWIGEXPORT(a)#else#define SWIGRUNTIME(a) static a#endif#ifdef __cplusplusextern "C" {#endiftypedef void *(*swig_converter_func)(void *);typedef struct swig_type_info *(*swig_dycast_func)(void **);typedef struct swig_type_info { const char *name; swig_converter_func converter; const char *str; swig_dycast_func dcast; struct swig_type_info *next; struct swig_type_info *prev; void *clientdata; } swig_type_info;#ifdef SWIG_NOINCLUDESWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *);SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *);SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *);#elsestatic swig_type_info *swig_type_list = 0;/* Register a type mapping with the type-checking */SWIGRUNTIME(swig_type_info *)SWIG_TypeRegister(swig_type_info *ti){ swig_type_info *tc, *head, *ret, *next; /* Check to see if this type has already been registered */ tc = swig_type_list; while (tc) { if (strcmp(tc->name, ti->name) == 0) { /* Already exists in the table. Just add additional types to the list */ head = tc; next = tc->next; goto l1; } tc = tc->prev; } head = ti; next = 0; /* Place in list */ ti->prev = swig_type_list; swig_type_list = ti; /* Build linked lists */ l1: ret = head; tc = ti + 1; /* Patch up the rest of the links */ while (tc->name) { head->next = tc; tc->prev = head; head = tc; tc++; } head->next = next; return ret;}/* Check the typename */SWIGRUNTIME(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *ty){ swig_type_info *s; if (!ty) return 0; /* Void pointer */ s = ty->next; /* First element always just a name */ while (s) { if (strcmp(s->name,c) == 0) { if (s == ty->next) return s; /* Move s to the top of the linked list */ s->prev->next = s->next; if (s->next) { s->next->prev = s->prev; } /* Insert s as second element in the list */ s->next = ty->next; if (ty->next) ty->next->prev = s; ty->next = s; return s; } s = s->next; } return 0;}/* Cast a pointer up an inheritance hierarchy */SWIGRUNTIME(void *) SWIG_TypeCast(swig_type_info *ty, void *ptr) { if ((!ty) || (!ty->converter)) return ptr; return (*ty->converter)(ptr);}/* Dynamic pointer casting. Down an inheritance hierarchy */SWIGRUNTIME(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { swig_type_info *lastty = ty; if (!ty || !ty->dcast) return ty; while (ty && (ty->dcast)) { ty = (*ty->dcast)(ptr); if (ty) lastty = ty; } return lastty;}/* Search for a swig_type_info structure */SWIGRUNTIME(swig_type_info *)SWIG_TypeQuery(const char *name) { swig_type_info *ty = swig_type_list; while (ty) { if (ty->str && (strcmp(name,ty->str) == 0)) return ty; if (ty->name && (strcmp(name,ty->name) == 0)) return ty; ty = ty->prev; } return 0;}/* Set the clientdata field for a type */SWIGRUNTIME(void)SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { swig_type_info *tc, *equiv; if (ti->clientdata) return; ti->clientdata = clientdata; equiv = ti->next; while (equiv) { if (!equiv->converter) { tc = swig_type_list; while (tc) { if ((strcmp(tc->name, equiv->name) == 0)) SWIG_TypeClientData(tc,clientdata); tc = tc->prev; } } equiv = equiv->next; }}#endif#ifdef __cplusplus}#endif/* ----------------------------------------------------------------------------- * perl5.swg * * Perl5 runtime library * $Header: /homes/mhoechsm/cvsroot/RNAforester/g2-0.70/perl/g2_wrap.c,v 1.1 2005/08/04 13:08:39 mhoechsm Exp $ * ----------------------------------------------------------------------------- */#define SWIGPERL#define SWIGPERL5#ifdef __cplusplus/* Needed on some windows machines---since MS plays funny games with the header files under C++ */#include <math.h>#include <stdlib.h>extern "C" {#endif#include "EXTERN.h"#include "perl.h"#include "XSUB.h"/* Get rid of free and malloc defined by perl */#undef free#undef malloc#ifndef pTHX_#define pTHX_#endif#include <string.h>#ifdef __cplusplus}#endif/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */#ifdef PERL_OBJECT#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);#ifdef __cplusplusextern "C" {#endiftypedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);#ifdef __cplusplus}#endif#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)#define SWIGCLASS_STATIC#else#define MAGIC_PPERL#define SWIGCLASS_STATIC static#ifndef MULTIPLICITY#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)typedef int (*SwigMagicFunc)(SV *, MAGIC *);#ifdef __cplusplusextern "C" {#endiftypedef int (*SwigMagicFuncHack)(SV *, MAGIC *);#ifdef __cplusplus}#endif#else#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);#ifdef __cplusplusextern "C" {#endiftypedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);#ifdef __cplusplus}#endif#endif#endif#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)#define PerlIO_exportFILE(fh,fl) (FILE*)(fh)#endif/* Modifications for newer Perl 5.005 releases */#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50))))#ifndef PL_sv_yes#define PL_sv_yes sv_yes#endif#ifndef PL_sv_undef#define PL_sv_undef sv_undef#endif#ifndef PL_na#define PL_na na#endif#endif#include <stdlib.h>#ifdef __cplusplusextern "C" {#endif#ifdef SWIG_NOINCLUDE#ifndef PERL_OBJECTextern int SWIG_ConvertPtr(SV *, void **, swig_type_info *, int flags);extern void SWIG_MakePtr(SV *, void *, swig_type_info *, int flags);#elseextern int _SWIG_ConvertPtr(CPerlObj *, SV *, void **, swig_type_info *,int flags);extern void _SWIG_MakePtr(CPerlObj *, SV *, void *, swig_type_info *, int flags);#define SWIG_ConvertPtr(a,b,c,d) _SWIG_ConvertPtr(pPerl,a,b,c,d)#define SWIG_MakePtr(a,b,c,d) _SWIG_MakePtr(pPerl,a,b,c,d)#endif#else/* Function for getting a pointer value */#ifndef PERL_OBJECTSWIGRUNTIME(int) SWIG_ConvertPtr(SV *sv, void **ptr, swig_type_info *_t, int flags)#else#define SWIG_ConvertPtr(a,b,c,d) _SWIG_ConvertPtr(pPerl,a,b,c,d)SWIGRUNTIME(int)_SWIG_ConvertPtr(CPerlObj *pPerl, SV *sv, void **ptr, swig_type_info *_t, int flags)#endif{ char *_c; swig_type_info *tc; IV tmp; /* If magical, apply more magic */ if (SvGMAGICAL(sv)) mg_get(sv); /* Check to see if this is an object */ if (sv_isobject(sv)) { SV *tsv = (SV*) SvRV(sv); if ((SvTYPE(tsv) == SVt_PVHV)) { MAGIC *mg; if (SvMAGICAL(tsv)) { mg = mg_find(tsv,'P'); if (mg) { SV *rsv = mg->mg_obj; if (sv_isobject(rsv)) { tmp = SvIV((SV*)SvRV(rsv)); } } } else { return -1; } } else { tmp = SvIV((SV*)SvRV(sv)); } if (!_t) { *(ptr) = (void *) tmp; return 0; } } else if (! SvOK(sv)) { /* Check for undef */ *(ptr) = (void *) 0; return 0; } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ *(ptr) = (void *) 0; if (!SvROK(sv)) return 0; else return -1; } else { /* Don't know what it is */ *(ptr) = (void *) 0; return -1; } if (_t) { /* Now see if the types match */ _c = HvNAME(SvSTASH(SvRV(sv))); tc = SWIG_TypeCheck(_c,_t); if (!tc) { *ptr = (void *) tmp; return -1; } *ptr = SWIG_TypeCast(tc,(void *)tmp); return 0; } *ptr = (void *) tmp; return 0;}#ifndef PERL_OBJECTSWIGRUNTIME(void) SWIG_MakePtr(SV *sv, void *ptr, swig_type_info *t,int flags)#else#define SWIG_MakePtr(a,b,c,d) _SWIG_MakePtr(pPerl,a,b,c,d)SWIGRUNTIME(void)_SWIG_MakePtr(CPerlObj *pPerl, SV *sv, void *ptr, swig_type_info *t, int flags)#endif{ sv_setref_pv(sv, (char *) t->name, ptr);}#endiftypedef XS(SwigPerlWrapper);typedef SwigPerlWrapper *SwigPerlWrapperPtr;/* Structure for command table */typedef struct { const char *name; SwigPerlWrapperPtr wrapper;} swig_command_info;/* Information for constant table */#define SWIG_INT 1#define SWIG_FLOAT 2#define SWIG_STRING 3#define SWIG_POINTER 4#define SWIG_BINARY 5/* Constant information structure */typedef struct swig_constant_info { int type; const char *name; long lvalue; double dvalue; void *pvalue; swig_type_info **ptype;} swig_constant_info;#ifdef __cplusplus}#endif/* Structure for variable table */typedef struct { const char *name; SwigMagicFunc set; SwigMagicFunc get; swig_type_info **type;} swig_variable_info;/* Magic variable code */#ifndef PERL_OBJECT#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) #ifndef MULTIPLICITY static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int \(*get)(SV *,MAGIC *)) { #else static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*,\ SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) { #endif #else#define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) {#endif MAGIC *mg; sv_magic(sv,sv,'U',(char *) name,strlen(name)); mg = mg_find(sv,'U'); mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; mg->mg_virtual->svt_len = 0; mg->mg_virtual->svt_clear = 0; mg->mg_virtual->svt_free = 0;}/* -------- TYPES TABLE (BEGIN) -------- */#define SWIGTYPE_p_double swig_types[0] #define SWIGTYPE_p_int swig_types[1] static swig_type_info *swig_types[3];/* -------- TYPES TABLE (END) -------- */#define SWIG_init boot_g2#define SWIG_name "g2::boot_g2"#define SWIG_prefix "g2::"#ifdef __cplusplusextern "C"#endif#ifndef PERL_OBJECT#ifndef MULTIPLICITYSWIGEXPORT(void) SWIG_init (CV* cv);#elseSWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv);#endif#elseSWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *);#endif#include "g2.h"#if defined(DO_X11)#include "g2_X11.h"#endif#if defined(DO_PS)#include "g2_PS.h"#endif#if defined(DO_GD)#include "g2_gd.h"#endif#if defined(DO_WIN32)#include "WIN32/g2_win32.h"#endifextern void g2_query_pointer(int,double *,double *,unsigned int *);#ifdef PERL_OBJECT#define MAGIC_CLASS _wrap_g2_var::class _wrap_g2_var : public CPerlObj {public:#else#define MAGIC_CLASS#endifSWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) { MAGIC_PPERL sv = sv; mg = mg; croak("Value is read-only."); return 0;}#ifdef PERL_OBJECT};#endif#ifdef __cplusplusextern "C" {#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -