blob: 511200277fe6c5d2fe4cd14eaa4937d2487e6b60 [file] [log] [blame]
<html>
<head> </head>
<body BGCOLOR="#FFFFFF">
<tt> <pre>
/*
* File : example_wrap.c
* Thu Apr 4 13:11:45 1996
*
* This file was automatically generated by :
* Simplified Wrapper and Interface Generator (SWIG)
*
* Copyright (c) 1995,1996
* The Regents of the University of California and
* The University of Utah
*
*/
/* Implementation : TCL */
#define INCLUDE_TCL <tcl.h>
#define INCLUDE_TK <tk.h>
#include INCLUDE_TCL
#include <string.h>
#include <stdlib.h>
static void _swig_make_hex(char *_c, void *_ptr, char *type) {
static char _hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f' };
unsigned long _p,_s;
char _result[128], *_r;
_r = _result;
_p = (unsigned long) _ptr;
if (_p > 0) {
while (_p > 0) {
_s = _p & 0xf;
*(_r++) = _hex[_s];
_p = _p >> 4;
}
*_r = '_';
while (_r >= _result) *(_c++) = *(_r--);
} else {
strcpy(_c,"NULL");
}
if (_ptr) strcpy(_c,type);
}
static char *_swig_get_hex(char *_c, void **ptr, char *_t) {
unsigned long _p;
char *_tt;
_p = 0;
if (*_c == '_') {
_c++;
while (*_c) {
if ((*_c >= '0') && (*_c <= '9')) _p = (_p << 4) + (*_c - '0');
else if ((*_c >= 'a') && (*_c <= 'f')) _p = (_p << 4) + ((*_c - 'a') + 10);
else break;
_c++;
}
if (_p == 0) {
return (char *) _c;
}
_tt = _c;
if (_t) {
if (strcmp(_c,_t)) return _tt;
}
*ptr = (void *) _p;
return (char *) 0;
} else {
if (strcmp(_c,"NULL") == 0) {
*ptr = (void *) 0;
return (char *) 0;
}
else
return _c;
}
}
#define SWIG_init Wrap_Init
/* A TCL_AppInit() function that lets you build a new copy
* of tclsh.
*
* The macro WG_init contains the name of the initialization
* function in the wrapper file.
*/
#ifndef SWIG_RcFileName
char *SWIG_RcFileName = "~/.myapprc";
#endif
#if TCL_MAJOR_VERSION == 7 && TCL_MINOR_VERSION >= 4
int main(int argc, char **argv) {
Tcl_Main(argc, argv, Tcl_AppInit);
return(0);
}
#else
extern int main();
#endif
int Tcl_AppInit(Tcl_Interp *interp){
int SWIG_init(Tcl_Interp *); /* Forward reference */
if (Tcl_Init(interp) == TCL_ERROR)
return TCL_ERROR;
/* Now initialize our functions */
if (SWIG_init(interp) == TCL_ERROR)
return TCL_ERROR;
tcl_RcFileName = SWIG_RcFileName;
return TCL_OK;
}
extern double My_variable;
extern int fact(int );
extern int mod(int ,int );
extern char * get_time();
int _wrap_tcl_fact(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) {
int _result;
int _arg0;
if (argc != 2) {
Tcl_SetResult(interp, "Wrong # args int : fact n ",TCL_STATIC);
return TCL_ERROR;
}
_arg0 = (int ) atol(argv[1]);
_result = fact(_arg0);
sprintf(interp->result,"%ld", (long) _result);
return TCL_OK;
}
int _wrap_tcl_mod(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) {
int _result;
int _arg0;
int _arg1;
if (argc != 3) {
Tcl_SetResult(interp, "Wrong # args int : mod x y ",TCL_STATIC);
return TCL_ERROR;
}
_arg0 = (int ) atol(argv[1]);
_arg1 = (int ) atol(argv[2]);
_result = mod(_arg0,_arg1);
sprintf(interp->result,"%ld", (long) _result);
return TCL_OK;
}
int _wrap_tcl_get_time(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) {
char * _result;
if (argc != 1) {
Tcl_SetResult(interp, "Wrong # args char * : get_time ",TCL_STATIC);
return TCL_ERROR;
}
_result = get_time();
Tcl_SetResult(interp, _result, TCL_VOLATILE);
return TCL_OK;
}
int Wrap_Init(Tcl_Interp *interp) {
if (interp == 0)
return TCL_ERROR;
Tcl_LinkVar(interp, "My_variable", (char *) &My_variable, TCL_LINK_DOUBLE);
Tcl_CreateCommand(interp, "fact", _wrap_tcl_fact, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
Tcl_CreateCommand(interp, "mod", _wrap_tcl_mod, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
Tcl_CreateCommand(interp, "get_time", _wrap_tcl_get_time, (ClientData) NULL, (Tcl_CmdDeleteProc *) NULL);
return TCL_OK;
}
</pre> </tt> </body>
</html>