Registering the Command
Firstly we need to tell the Tcl interpreter which Tcl command should call
which C function. We do this using the Tcl_CreateCommand function. This
is typically called within the package initialisation routine. For a package
named composition this is the Composition_Init routine.
/*
* This is called when the library is dynamically linked in with the calling
* program. Use it to initialise any tables and to register the necessary
* commands.
*/
int Composition_Init(Tcl_Interp *interp) {
if (NULL == Tcl_CreateCommand(interp,
"composition",
tcl_composition,
(ClientData) NULL,
(Tcl_CmdDeleteProc *) NULL)) {
return TCL_ERROR;
}
return TCL_OK;
}
In the above example we are saying that the Tcl command 'composition'
should call the C function 'tcl_composition'. If we wished to call the
C function with a specific argument that is known at the time of this
initialisation then we would specify it in the ClientData argument
(NULL in this example). The full information on using
Tcl_CreateCommand is available in the Tcl manual pages.
This page is maintained by staden-package. Last generated on 25 April 2003.
URL: http://www.mrc-lmb.cam.ac.uk/pubseq/manual/scripting_202.html