1 
2 #ifndef _TCLINT
3 typedef void (ProcErrorProc)(Tcl_Interp *interp, Tcl_Obj *procNameObj);
4 #endif
5 
6 #ifndef TCL_OO_INTERNAL_H
7 typedef int (TclOO_PreCallProc)(ClientData clientData, Tcl_Interp *interp,
8 	Tcl_ObjectContext context, Tcl_CallFrame *framePtr, int *isFinished);
9 typedef int (TclOO_PostCallProc)(ClientData clientData, Tcl_Interp *interp,
10 	Tcl_ObjectContext context, Tcl_Namespace *namespacePtr, int result);
11 #endif
12 
13 MODULE_SCOPE int Itcl_NRRunCallbacks(Tcl_Interp *interp, void *rootPtr);
14 MODULE_SCOPE void * Itcl_GetCurrentCallbackPtr(Tcl_Interp *interp);
15 MODULE_SCOPE Tcl_Method Itcl_NewProcClassMethod(Tcl_Interp *interp, Tcl_Class clsPtr,
16         TclOO_PreCallProc *preCallPtr, TclOO_PostCallProc *postCallPtr,
17         ProcErrorProc *errProc, ClientData clientData, Tcl_Obj *nameObj,
18 	Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ClientData *clientData2);
19 MODULE_SCOPE Tcl_Method Itcl_NewProcMethod(Tcl_Interp *interp, Tcl_Object oPtr,
20         TclOO_PreCallProc *preCallPtr, TclOO_PostCallProc *postCallPtr,
21         ProcErrorProc *errProc, ClientData clientData, Tcl_Obj *nameObj,
22 	Tcl_Obj *argsObj, Tcl_Obj *bodyObj, ClientData *clientData2);
23 MODULE_SCOPE int Itcl_PublicObjectCmd(ClientData clientData, Tcl_Interp *interp,
24         Tcl_Class clsPtr, int objc, Tcl_Obj *const *objv);
25 MODULE_SCOPE Tcl_Method Itcl_NewForwardClassMethod(Tcl_Interp *interp,
26         Tcl_Class clsPtr, int flags, Tcl_Obj *nameObj, Tcl_Obj *prefixObj);
27 MODULE_SCOPE int Itcl_SelfCmd(ClientData clientData, Tcl_Interp *interp,
28         int objc, Tcl_Obj *const *objv);
29 MODULE_SCOPE int Itcl_IsMethodCallFrame(Tcl_Interp *interp);
30 MODULE_SCOPE int Itcl_InvokeEnsembleMethod(Tcl_Interp *interp, Tcl_Namespace *nsPtr,
31     Tcl_Obj *namePtr, Tcl_Proc *procPtr, int objc, Tcl_Obj *const *objv);
32 MODULE_SCOPE int Itcl_InvokeProcedureMethod(ClientData clientData, Tcl_Interp *interp,
33 	int objc, Tcl_Obj *const *objv);
34