Update of /cvsroot/naviserver/naviserver/include
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17754/include
Modified Files:
ns.h
Log Message:
* include/ns.h:
* nsd/nsd.h:
* nsd/Makefile:
* nsd/tclcallbacks.c: Add routines to support calling Tcl code
from C for callback events.
* nsd/proc.c:
* nsd/tclcmds.c:
* nsd/tclsched.c: Update to use new callback and parse proc APIs.
Index: ns.h
===================================================================
RCS file: /cvsroot/naviserver/naviserver/include/ns.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ns.h 26 Mar 2005 15:53:06 -0000 1.11
--- ns.h 26 Mar 2005 16:40:40 -0000 1.12
***************
*** 388,391 ****
--- 388,403 ----
/*
+ * The following structure defines the Tcl code to run
+ * for a callback function.
+ */
+
+ typedef struct Ns_TclCallback {
+ void *cbProc;
+ char *server;
+ char *script;
+ char *scriptarg;
+ } Ns_TclCallback;
+
+ /*
* The following structure defines an I/O
* scatter/gather buffer for WIN32.
***************
*** 964,968 ****
*/
- NS_EXTERN void Ns_RegisterProcDesc(void *procAddr, char *desc);
NS_EXTERN void Ns_RegisterProcInfo(void *procAddr, char *desc, Ns_ArgProc *argProc);
NS_EXTERN void Ns_GetProcInfo(Tcl_DString *dsPtr, void *procAddr, void *arg);
--- 976,979 ----
***************
*** 1163,1166 ****
--- 1174,1193 ----
/*
+ * tclcallbacks.c:
+ */
+
+ NS_EXTERN Ns_TclCallback *Ns_TclNewCallback(Tcl_Interp *interp, void *cbProc,
+ char *script, char *scriptarg);
+ NS_EXTERN Ns_TclCallback *Ns_TclNewCallbackObj(Tcl_Interp *interp,
+ void *cbProc,
+ Tcl_Obj *scriptObjPtr,
+ Tcl_Obj *argObjPtr);
+ NS_EXTERN int Ns_TclEvalCallback(Tcl_Interp *interp, Ns_TclCallback *cbPtr,
+ Ns_DString *result, ...);
+ NS_EXTERN Ns_Callback Ns_TclCallbackProc;
+ NS_EXTERN Ns_Callback Ns_TclFreeCallback;
+ NS_EXTERN Ns_ArgProc Ns_TclCallbackArgProc;
+
+ /*
* tclenv.c:
*/
|