⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xdelta3_wrap.c

📁 This program is free software you can redistribute it and/or modify it under the terms of the GNU G
💻 C
📖 第 1 页 / 共 5 页
字号:
/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.25 *  * 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.  * ----------------------------------------------------------------------------- */#define SWIGPYTHON/*********************************************************************** * *  This section contains generic SWIG labels for method/variable *  declarations/attributes, and other compiler dependent labels. * ************************************************************************//* template workaround for compilers that cannot correctly implement the C++ standard */#ifndef SWIGTEMPLATEDISAMBIGUATOR#  if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)#    define SWIGTEMPLATEDISAMBIGUATOR template#  else#    define SWIGTEMPLATEDISAMBIGUATOR #  endif#endif/* inline attribute */#ifndef SWIGINLINE# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))#   define SWIGINLINE inline# else#   define SWIGINLINE# endif#endif/* attribute recognised by some compilers to avoid 'unused' warnings */#ifndef SWIGUNUSED# if defined(__GNUC__) || defined(__ICC)#   define SWIGUNUSED __attribute__ ((unused)) # else#   define SWIGUNUSED # endif#endif/* internal SWIG method */#ifndef SWIGINTERN# define SWIGINTERN static SWIGUNUSED#endif/* internal inline SWIG method */#ifndef SWIGINTERNINLINE# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE#endif/* exporting methods for Windows DLLs */#ifndef SWIGEXPORT# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)#   if defined(STATIC_LINKED)#     define SWIGEXPORT#   else#     define SWIGEXPORT __declspec(dllexport)#   endif# else#   define SWIGEXPORT# endif#endif/* calling conventions for Windows */#ifndef SWIGSTDCALL# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)#   define SWIGSTDCALL __stdcall# else#   define SWIGSTDCALL# endif #endif#include <Python.h>/*********************************************************************** * swigrun.swg * *     This file contains generic CAPI SWIG runtime support for pointer *     type checking. * ************************************************************************//* This should only be incremented when either the layout of swig_type_info changes,   or for whatever reason, the runtime changes incompatibly */#define SWIG_RUNTIME_VERSION "2"/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */#ifdef SWIG_TYPE_TABLE# define SWIG_QUOTE_STRING(x) #x# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)#else# define SWIG_TYPE_TABLE_NAME#endif/*  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for  creating a static or dynamic library from the swig runtime code.  In 99.9% of the cases, swig just needs to declare them as 'static'.    But only do this if is strictly necessary, ie, if you have problems  with your compiler or so.*/#ifndef SWIGRUNTIME# define SWIGRUNTIME SWIGINTERN#endif#ifndef SWIGRUNTIMEINLINE# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE#endif#include <string.h>#ifdef __cplusplusextern "C" {#endiftypedef void *(*swig_converter_func)(void *);typedef struct swig_type_info *(*swig_dycast_func)(void **);/* Structure to store inforomation on one type */typedef struct swig_type_info {  const char             *name;			/* mangled name of this type */  const char             *str;			/* human readable name of this type */  swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */  struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */  void                   *clientdata;		/* language specific type data */} swig_type_info;/* Structure to store a type and conversion function used for casting */typedef struct swig_cast_info {  swig_type_info         *type;			/* pointer to type that is equivalent to this type */  swig_converter_func     converter;		/* function to cast the void pointers */  struct swig_cast_info  *next;			/* pointer to next cast in linked list */  struct swig_cast_info  *prev;			/* pointer to the previous cast */} swig_cast_info;/* Structure used to store module information * Each module generates one structure like this, and the runtime collects * all of these structures and stores them in a circularly linked list.*/typedef struct swig_module_info {  swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */  size_t                 size;		        /* Number of types in this module */  struct swig_module_info *next;		/* Pointer to next element in circularly linked list */  swig_type_info         **type_initial;	/* Array of initially generated type structures */  swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */  void                    *clientdata;		/* Language specific module data */} swig_module_info;/*   Compare two type names skipping the space characters, therefore  "char*" == "char *" and "Class<int>" == "Class<int >", etc.  Return 0 when the two name types are equivalent, as in  strncmp, but skipping ' '.*/SWIGRUNTIME intSWIG_TypeNameComp(const char *f1, const char *l1,		  const char *f2, const char *l2) {  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {    while ((*f1 == ' ') && (f1 != l1)) ++f1;    while ((*f2 == ' ') && (f2 != l2)) ++f2;    if (*f1 != *f2) return (int)(*f1 - *f2);  }  return (l1 - f1) - (l2 - f2);}/*  Check type equivalence in a name list like <name1>|<name2>|...  Return 0 if not equal, 1 if equal*/SWIGRUNTIME intSWIG_TypeEquiv(const char *nb, const char *tb) {  int equiv = 0;  const char* te = tb + strlen(tb);  const char* ne = nb;  while (!equiv && *ne) {    for (nb = ne; *ne; ++ne) {      if (*ne == '|') break;    }    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;    if (*ne) ++ne;  }  return equiv;}/*  Check type equivalence in a name list like <name1>|<name2>|...  Return 0 if equal, -1 if nb < tb, 1 if nb > tb*/SWIGRUNTIME intSWIG_TypeCompare(const char *nb, const char *tb) {  int equiv = 0;  const char* te = tb + strlen(tb);  const char* ne = nb;  while (!equiv && *ne) {    for (nb = ne; *ne; ++ne) {      if (*ne == '|') break;    }    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;    if (*ne) ++ne;  }  return equiv;}/* think of this as a c++ template<> or a scheme macro */#define SWIG_TypeCheck_Template(comparison, ty)         \  if (ty) {                                             \    swig_cast_info *iter = ty->cast;                    \    while (iter) {                                      \      if (comparison) {                                 \        if (iter == ty->cast) return iter;              \        /* Move iter to the top of the linked list */   \        iter->prev->next = iter->next;                  \        if (iter->next)                                 \          iter->next->prev = iter->prev;                \        iter->next = ty->cast;                          \        iter->prev = 0;                                 \        if (ty->cast) ty->cast->prev = iter;            \        ty->cast = iter;                                \        return iter;                                    \      }                                                 \      iter = iter->next;                                \    }                                                   \  }                                                     \  return 0/*  Check the typename*/SWIGRUNTIME swig_cast_info *SWIG_TypeCheck(const char *c, swig_type_info *ty) {  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);}/* Same as previous function, except strcmp is replaced with a pointer comparison */SWIGRUNTIME swig_cast_info *SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {  SWIG_TypeCheck_Template(iter->type == from, into);}/*  Cast a pointer up an inheritance hierarchy*/SWIGRUNTIMEINLINE void *SWIG_TypeCast(swig_cast_info *ty, void *ptr) {  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);}/*    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;}/*  Return the name associated with this type*/SWIGRUNTIMEINLINE const char *SWIG_TypeName(const swig_type_info *ty) {  return ty->name;}/*  Return the pretty name associated with this type,  that is an unmangled type name in a form presentable to the user.*/SWIGRUNTIME const char *SWIG_TypePrettyName(const swig_type_info *type) {  /* The "str" field contains the equivalent pretty names of the     type, separated by vertical-bar characters.  We choose     to print the last name, as it is often (?) the most     specific. */  if (type->str != NULL) {    const char *last_name = type->str;    const char *s;    for (s = type->str; *s; s++)      if (*s == '|') last_name = s+1;    return last_name;  }  else    return type->name;}/*    Set the clientdata field for a type*/SWIGRUNTIME voidSWIG_TypeClientData(swig_type_info *ti, void *clientdata) {  if (!ti->clientdata) {    swig_cast_info *cast = ti->cast;    /* if (ti->clientdata == clientdata) return; */    ti->clientdata = clientdata;        while (cast) {      if (!cast->converter)	SWIG_TypeClientData(cast->type, clientdata);      cast = cast->next;    }  }}/*  Search for a swig_type_info structure only by mangled name  Search is a O(log #types)    We start searching at module start, and finish searching when start == end.    Note: if start == end at the beginning of the function, we go all the way around  the circular list.*/SWIGRUNTIME swig_type_info *SWIG_MangledTypeQueryModule(swig_module_info *start,                             swig_module_info *end, 		            const char *name) {  swig_module_info *iter = start;  do {    if (iter->size) {      register size_t l = 0;      register size_t r = iter->size - 1;      do {	/* since l+r >= 0, we can (>> 1) instead (/ 2) */	register size_t i = (l + r) >> 1; 	const char *iname = iter->types[i]->name;	if (iname) {	  register int compare = strcmp(name, iname);	  if (compare == 0) {	    	    return iter->types[i];	  } else if (compare < 0) {	    if (i) {	      r = i - 1;	    } else {	      break;	    }	  } else if (compare > 0) {	    l = i + 1;	  }	} else {	  break; /* should never happen */	}      } while (l <= r);    }    iter = iter->next;  } while (iter != end);  return 0;}/*  Search for a swig_type_info structure for either a mangled name or a human readable name.  It first searches the mangled names of the types, which is a O(log #types)  If a type is not found it then searches the human readable names, which is O(#types).    We start searching at module start, and finish searching when start == end.    Note: if start == end at the beginning of the function, we go all the way around  the circular list.*/SWIGRUNTIME swig_type_info *SWIG_TypeQueryModule(swig_module_info *start,                      swig_module_info *end, 		     const char *name) {  /* STEP 1: Search the name field using binary search */  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);  if (ret) {    return ret;  } else {    /* STEP 2: If the type hasn't been found, do a complete search       of the str field (the human readable name) */    swig_module_info *iter = start;    do {      register size_t i = 0;      for (; i < iter->size; ++i) {	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))	  return iter->types[i];      }      iter = iter->next;    } while (iter != end);  }    /* neither found a match */  return 0;}/*    Pack binary data into a string*/SWIGRUNTIME char *SWIG_PackData(char *c, void *ptr, size_t sz) {  static const char hex[17] = "0123456789abcdef";  register const unsigned char *u = (unsigned char *) ptr;  register const unsigned char *eu =  u + sz;  for (; u != eu; ++u) {    register unsigned char uu = *u;    *(c++) = hex[(uu & 0xf0) >> 4];    *(c++) = hex[uu & 0xf];  }  return c;}/*    Unpack binary data from a string*/SWIGRUNTIME const char *SWIG_UnpackData(const char *c, void *ptr, size_t sz) {  register unsigned char *u = (unsigned char *) ptr;  register const unsigned char *eu = u + sz;  for (; u != eu; ++u) {    register char d = *(c++);    register unsigned char uu = 0;    if ((d >= '0') && (d <= '9'))      uu = ((d - '0') << 4);    else if ((d >= 'a') && (d <= 'f'))      uu = ((d - ('a'-10)) << 4);    else       return (char *) 0;    d = *(c++);    if ((d >= '0') && (d <= '9'))      uu |= (d - '0');    else if ((d >= 'a') && (d <= 'f'))      uu |= (d - ('a'-10));    else       return (char *) 0;    *u = uu;  }  return c;}/*    Pack 'void *' into a string buffer.*/SWIGRUNTIME char *SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {  char *r = buff;  if ((2*sizeof(void *) + 2) > bsz) return 0;  *(r++) = '_';  r = SWIG_PackData(r,&ptr,sizeof(void *));  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -