From: Stephen D. <sd...@us...> - 2005-10-21 06:22:22
|
Update of /cvsroot/naviserver/naviserver/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8676/include Modified Files: ns.h Log Message: * include/ns.h: * nsd/tclobj.c: Generalise the ns_thread routines for wrapping a C structs with a Tcl obj handle. Slighlty enhanced: also allows wrapping of statically allocated C structs which always have a direct string name -> struct relationship. * nsd/tclcmds.c: * nsd/tclthread.c: Convert to Tcl objects, remove some duplicated code and convert to the new ns:addr Tcl object type interface. * tests/ns_thread.test: Exercise the ns_thread command and the new ns:addr Tcl object type. Index: ns.h =================================================================== RCS file: /cvsroot/naviserver/naviserver/include/ns.h,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** ns.h 20 Oct 2005 18:30:41 -0000 1.54 --- ns.h 21 Oct 2005 06:22:14 -0000 1.55 *************** *** 1010,1019 **** */ ! NS_EXTERN void Ns_TclResetObjType(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr); ! NS_EXTERN void Ns_TclSetTwoPtrValue(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr, ! void *ptr1, void *ptr2); ! NS_EXTERN void Ns_TclSetOtherValuePtr(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr, ! void *value); ! NS_EXTERN void Ns_TclSetStringRep(Tcl_Obj *objPtr, char *bytes, int length); /* --- 1010,1043 ---- */ ! NS_EXTERN void ! Ns_TclResetObjType(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr); ! ! NS_EXTERN void ! Ns_TclSetTwoPtrValue(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr, ! void *ptr1, void *ptr2); ! NS_EXTERN void ! Ns_TclSetOtherValuePtr(Tcl_Obj *objPtr, Tcl_ObjType *newTypePtr, void *value); ! ! NS_EXTERN void ! Ns_TclSetStringRep(Tcl_Obj *objPtr, char *bytes, int length); ! ! NS_EXTERN int ! Ns_TclGetAddrFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, ! CONST char *type, void **addrPtrPtr) ! NS_GNUC_NONNULL(2) NS_GNUC_NONNULL(3) NS_GNUC_NONNULL(4); ! ! NS_EXTERN void ! Ns_TclSetAddrObj(Tcl_Obj *objPtr, CONST char *type, void *addr) ! NS_GNUC_NONNULL(1) NS_GNUC_NONNULL(2) NS_GNUC_NONNULL(3); ! ! NS_EXTERN int ! Ns_TclGetOpaqueFromObj(Tcl_Obj *objPtr, CONST char *type, void **addrPtrPtr) ! NS_GNUC_NONNULL(1) NS_GNUC_NONNULL(2) NS_GNUC_NONNULL(3); ! ! NS_EXTERN void ! Ns_TclSetOpaqueObj(Tcl_Obj *objPtr, CONST char *type, void *addr) ! NS_GNUC_NONNULL(1) NS_GNUC_NONNULL(2) NS_GNUC_NONNULL(3); ! ! NS_EXTERN Tcl_SetFromAnyProc Ns_TclSetFromAnyError; /* |