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

📄 canltwo_wrap.c

📁 can4linux-3.5.3.gz can4 linux
💻 C
📖 第 1 页 / 共 5 页
字号:
  }  if (strcmp(method,"cget") == 0) {    Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);    return TCL_ERROR;  }  Tcl_SetResult(interp, (char *) "Invalid method. Must be one of: configure cget -acquire -disown -delete", TCL_STATIC);  cls = inst->classptr;  bi = 0;  while (cls) {    meth = cls->methods;    while (meth && meth->name) {      char *cr = (char *) Tcl_GetStringResult(interp);      int meth_len = strlen(meth->name);      char* where = strchr(cr,':');      while(where) {        where = strstr(where, meth->name);        if(where) {          if(where[-1] == ' ' && (where[meth_len] == ' ' || where[meth_len]==0)) {            break;          } else {            where++;          }        }      }      if (!where)        Tcl_AppendElement(interp, (char *) meth->name);      meth++;    }    cls = inst->classptr->bases[bi++];  }  return TCL_ERROR;}/* This function takes the current result and turns it into an object command */SWIGRUNTIME Tcl_Obj *SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags) {  Tcl_Obj *robj = SWIG_NewPointerObj(thisvalue, type,0);  /* Check to see if this pointer belongs to a class or not */  if ((type->clientdata) && (interp)) {    Tcl_CmdInfo    ci;    char          *name;    name = Tcl_GetStringFromObj(robj,NULL);    if (!Tcl_GetCommandInfo(interp,name, &ci) || (flags)) {      swig_instance *newinst = (swig_instance *) malloc(sizeof(swig_instance));      newinst->thisptr = Tcl_DuplicateObj(robj);      Tcl_IncrRefCount(newinst->thisptr);      newinst->thisvalue = thisvalue;      newinst->classptr = (swig_class *) type->clientdata;      newinst->destroy = flags;      newinst->cmdtok = Tcl_CreateObjCommand(interp, Tcl_GetStringFromObj(robj,NULL), (swig_wrapper_func) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);      if (flags) {        SWIG_Acquire(thisvalue);      }    }  }  return robj;}/* Function to create objects */SWIGRUNTIME intSWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {  Tcl_Obj          *newObj = 0;  void             *thisvalue = 0;  swig_instance   *newinst = 0;  swig_class      *classptr = (swig_class *) clientData;  swig_wrapper     cons = 0;  char             *name = 0;  int               firstarg = 0;  int               thisarg = 0;  int               destroy = 1;  if (!classptr) {    Tcl_SetResult(interp, (char *) "swig: internal runtime error. No class object defined.", TCL_STATIC);    return TCL_ERROR;  }  cons = classptr->constructor;  if (objc > 1) {    char *s = Tcl_GetStringFromObj(objv[1],NULL);    if (strcmp(s,"-this") == 0) {      thisarg = 2;      cons = 0;    } else if (strcmp(s,"-args") == 0) {      firstarg = 1;    } else if (objc == 2) {      firstarg = 1;      name = s;    } else if (objc >= 3) {      char *s1;      name = s;      s1 = Tcl_GetStringFromObj(objv[2],NULL);      if (strcmp(s1,"-this") == 0) {	thisarg = 3;	cons = 0;      } else {	firstarg = 1;      }    }  }  if (cons) {    int result;    result = (*cons)(0, interp, objc-firstarg, &objv[firstarg]);    if (result != TCL_OK) {      return result;    }    newObj = Tcl_DuplicateObj(Tcl_GetObjResult(interp));    if (!name) name = Tcl_GetStringFromObj(newObj,NULL);  } else if (thisarg > 0) {    if (thisarg < objc) {      destroy = 0;      newObj = Tcl_DuplicateObj(objv[thisarg]);      if (!name) name = Tcl_GetStringFromObj(newObj,NULL);    } else {      Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);      return TCL_ERROR;    }  } else {    Tcl_SetResult(interp, (char *) "No constructor available.", TCL_STATIC);    return TCL_ERROR;  }  if (SWIG_Tcl_ConvertPtr(interp,newObj, (void **) &thisvalue, *(classptr->type), 0) != SWIG_OK) {    Tcl_DecrRefCount(newObj);    return TCL_ERROR;  }  newinst = (swig_instance *) malloc(sizeof(swig_instance));  newinst->thisptr = newObj;  Tcl_IncrRefCount(newObj);  newinst->thisvalue = thisvalue;  newinst->classptr = classptr;  newinst->destroy = destroy;  if (destroy) {    SWIG_Acquire(thisvalue);  }  newinst->cmdtok = Tcl_CreateObjCommand(interp,name, (swig_wrapper) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);  return TCL_OK;}/* -----------------------------------------------------------------------------* *   Get arguments  * -----------------------------------------------------------------------------*/SWIGRUNTIME intSWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt, ...) {  int        argno = 0, opt = 0;  long       tempi;  double     tempd;  const char *c;  va_list    ap;  void      *vptr;  Tcl_Obj   *obj = 0;  swig_type_info *ty;  va_start(ap,fmt);  for (c = fmt; (*c && (*c != ':') && (*c != ';')); c++,argno++) {    if (*c == '|') {      opt = 1;      c++;    }    if (argno >= (objc-1)) {      if (!opt) {        Tcl_SetResult(interp, (char *) "Wrong number of arguments ", TCL_STATIC);        goto argerror;      } else {        va_end(ap);        return TCL_OK;      }    }    vptr = va_arg(ap,void *);    if (vptr) {      if (isupper(*c)) {        obj = SWIG_Tcl_GetConstantObj(Tcl_GetStringFromObj(objv[argno+1],0));        if (!obj) obj = objv[argno+1];      } else {        obj = objv[argno+1];      }      switch(*c) {      case 'i': case 'I':      case 'l': case 'L':      case 'h': case 'H':      case 'b': case 'B':        if (Tcl_GetLongFromObj(interp,obj,&tempi) != TCL_OK) goto argerror;        if ((*c == 'i') || (*c == 'I')) *((int *)vptr) = (int)tempi;        else if ((*c == 'l') || (*c == 'L')) *((long *)vptr) = (long)tempi;        else if ((*c == 'h') || (*c == 'H')) *((short*)vptr) = (short)tempi;        else if ((*c == 'b') || (*c == 'B')) *((unsigned char *)vptr) = (unsigned char)tempi;        break;      case 'f': case 'F':      case 'd': case 'D':        if (Tcl_GetDoubleFromObj(interp,obj,&tempd) != TCL_OK) goto argerror;        if ((*c == 'f') || (*c == 'F')) *((float *) vptr) = (float)tempd;        else if ((*c == 'd') || (*c == 'D')) *((double*) vptr) = tempd;        break;      case 's': case 'S':        if (*(c+1) == '#') {          int *vlptr = (int *) va_arg(ap, void *);          *((char **) vptr) = Tcl_GetStringFromObj(obj, vlptr);          c++;        } else {          *((char **)vptr) = Tcl_GetStringFromObj(obj,NULL);        }        break;      case 'c': case 'C':        *((char *)vptr) = *(Tcl_GetStringFromObj(obj,NULL));        break;      case 'p': case 'P':        ty = (swig_type_info *) va_arg(ap, void *);        if (SWIG_Tcl_ConvertPtr(interp, obj, (void **) vptr, ty, 0) != SWIG_OK) goto argerror;        break;      case 'o': case 'O':        *((Tcl_Obj **)vptr) = objv[argno+1];        break;      default:        break;      }    }  }  if ((*c != ';') && ((objc-1) > argno)) {    Tcl_SetResult(interp, (char *) "Wrong # args.", TCL_STATIC);    goto argerror;  }  va_end(ap);  return TCL_OK; argerror:  {    char temp[32];    sprintf(temp,"%d", argno+1);    c = strchr(fmt,':');    if (!c) c = strchr(fmt,';');    if (!c) c = (char *)"";    Tcl_AppendResult(interp,c," argument ", temp, NULL);    va_end(ap);    return TCL_ERROR;  }}#ifdef __cplusplus#if 0{ /* cc-mode */#endif}#endif#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else /* -------- TYPES TABLE (BEGIN) -------- */#define SWIGTYPE_p_char swig_types[0]static swig_type_info *swig_types[2];static swig_module_info swig_module = {swig_types, 1, 0, 0, 0, 0};#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)/* -------- TYPES TABLE (END) -------- */#define SWIG_init    Canltwo_Init#define SWIG_name    "canltwo"#define SWIG_prefix  ""#define SWIG_version "0.0"#define SWIGVERSION 0x010329 #define SWIG_as_voidptr(a) (void *)((const void *)(a)) #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) #ifdef __cplusplusextern "C" {#endif#ifdef MAC_TCL#pragma export on#endifSWIGEXPORT int SWIG_init(Tcl_Interp *);#ifdef MAC_TCL#pragma export off#endif#ifdef __cplusplus}#endif/* Put header files here (optional) */extern int can_open(int port);extern int can_open(int port);extern int can_close(int fd);extern int can_send(int fd, int len, char *message);extern char *can_read(int fd);extern char *can_read1(int fd, int timeout);extern char *can_read2(int fd, int timeout);#include <limits.h>#ifndef LLONG_MIN# define LLONG_MIN	LONG_LONG_MIN#endif#ifndef LLONG_MAX# define LLONG_MAX	LONG_LONG_MAX#endif#ifndef ULLONG_MAX# define ULLONG_MAX	ULONG_LONG_MAX#endifSWIGINTERN intSWIG_AsVal_long SWIG_TCL_DECL_ARGS_2(Tcl_Obj *obj, long* val){  long v;  if (Tcl_GetLongFromObj(0,obj, &v) == TCL_OK) {    if (val) *val = (long) v;    return SWIG_OK;  }  return SWIG_TypeError;}SWIGINTERN intSWIG_AsVal_int SWIG_TCL_DECL_ARGS_2(Tcl_Obj * obj, int *val){  long v;  int res = SWIG_AsVal_long SWIG_TCL_CALL_ARGS_2(obj, &v);  if (SWIG_IsOK(res)) {    if ((v < INT_MIN || v > INT_MAX)) {      return SWIG_OverflowError;    } else {      if (val) *val = (int)(v);    }  }    return res;}SWIGINTERNINLINE Tcl_Obj* SWIG_From_long  (long value){  if (((long) INT_MIN <= value) && (value <= (long) INT_MAX)) {    return Tcl_NewIntObj((int)(value));  } else {    return Tcl_NewLongObj(value);  }}SWIGINTERNINLINE Tcl_Obj *SWIG_From_int  (int value){      return SWIG_From_long  (value);}SWIGINTERN intSWIG_AsCharPtrAndSize(Tcl_Obj *obj, char** cptr, size_t* psize, int *alloc){   int len = 0;  char *cstr = Tcl_GetStringFromObj(obj, &len);  if (cstr) {    if (cptr)  *cptr = cstr;    if (psize) *psize = len + 1;    if (alloc) *alloc = SWIG_OLDOBJ;    return SWIG_OK;  }  return SWIG_TypeError;}SWIGINTERNINLINE Tcl_Obj *SWIG_FromCharPtrAndSize(const char* carray, size_t size){  return (size < INT_MAX) ? Tcl_NewStringObj(carray, (int)(size)) : NULL;}SWIGINTERNINLINE Tcl_Obj * SWIG_FromCharPtr(const char *cptr){   return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));}#ifdef __cplusplusextern "C" {#endifSWIGINTERN int_wrap_can_open(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {  int arg1 ;  int result;  int val1 ;  int ecode1 = 0 ;    if (SWIG_GetArgs(interp, objc, objv,"o:can_open port ",(void *)0) == TCL_ERROR) SWIG_fail;  ecode1 = SWIG_AsVal_int SWIG_TCL_CALL_ARGS_2(objv[1], &val1);  if (!SWIG_IsOK(ecode1)) {    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "can_open" "', argument " "1"" of type '" "int""'");  }   arg1 = (int)(val1);  result = (int)can_open(arg1);  Tcl_SetObjResult(interp,SWIG_From_int((int)(result)));  return TCL_OK;fail:  return TCL_ERROR;}SWIGINTERN int_wrap_can_close(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {  int arg1 ;  int result;  int val1 ;  int ecode1 = 0 ;    if (SWIG_GetArgs(interp, objc, objv,"o:can_close fd ",(void *)0) == TCL_ERROR) SWIG_fail;  ecode1 = SWIG_AsVal_int SWIG_TCL_CALL_ARGS_2(objv[1], &val1);  if (!SWIG_IsOK(ecode1)) {    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "can_close" "', argument " "1"" of type '" "int""'");  }   arg1 = (int)(val1);  result = (int)can_close(arg1);  Tcl_SetObjResult(interp,SWIG_From_int((int)(result)));  return TCL_OK;fail:  return TCL_ERROR;}SWIGINTERN int_wrap_can_send(ClientData clientData SWIGUNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {

⌨️ 快捷键说明

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