Posted to tcl by jdc at Tue Oct 02 09:29:16 GMT 2007view raw
- /*
- * bltNsUtil.h --
- *
- * Copyright 1993-1998 Lucent Technologies, Inc.
- *
- * Permission to use, copy, modify, and distribute this software and
- * its documentation for any purpose and without fee is hereby
- * granted, provided that the above copyright notice appear in all
- * copies and that both that the copyright notice and warranty
- * disclaimer appear in supporting documentation, and that the names
- * of Lucent Technologies any of their entities not be used in
- * advertising or publicity pertaining to distribution of the software
- * without specific, written prior permission.
- *
- * Lucent Technologies disclaims all warranties with regard to this
- * software, including all implied warranties of merchantability and
- * fitness. In no event shall Lucent Technologies be liable for any
- * special, indirect or consequential damages or any damages
- * whatsoever resulting from loss of use, data or profits, whether in
- * an action of contract, negligence or other tortuous action, arising
- * out of or in connection with the use or performance of this
- * software.
- */
- #ifndef BLT_NS_UTIL_H
- #define BLT_NS_UTIL_H 1
- #if defined(ITCL_NAMESPACES) || (TCL_MAJOR_VERSION >= 8)
- #define HAVE_NAMESPACES 1
- #else
- #define HAVE_NAMESPACES 0
- #endif
- #if (TCL_MAJOR_VERSION <= 7)
- /*
- * Namespaces and callframes don't exist before Tcl version 8.0.
- * We'll define them as opaque pointers. In reality, they
- * point to the interpreter token.
- */
- typedef struct Tcl_NamespaceStruct Tcl_Namespace;
- typedef struct Tcl_CallFrameStruct *Tcl_CallFrame;
- #endif
- #ifndef TCL_NAMESPACE_ONLY
- #define TCL_NAMESPACE_ONLY TCL_GLOBAL_ONLY
- #endif
- EXTERN Tcl_Command Tcl_FindCommand _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *name, Tcl_Namespace *nsPtr, int flags));
- #define NS_SEARCH_NONE (0)
- #define NS_SEARCH_CURRENT (1<<0)
- #define NS_SEARCH_GLOBAL (1<<1)
- #define NS_SEARCH_BOTH (NS_SEARCH_GLOBAL | NS_SEARCH_CURRENT)
- /*
- * Namespace procedures not prototyped defined in Tcl.h
- */
- EXTERN Tcl_Namespace *Tcl_GetCurrentNamespace _ANSI_ARGS_((Tcl_Interp *interp));
- EXTERN Tcl_Namespace *Tcl_GetGlobalNamespace _ANSI_ARGS_((Tcl_Interp *interp));
- #if (TCL_MAJOR_VERSION >= 8)
- EXTERN Tcl_Namespace *Tcl_CreateNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *name, ClientData clientData, Tcl_NamespaceDeleteProc *nsDelProc));
- EXTERN void Tcl_DeleteNamespace _ANSI_ARGS_((Tcl_Namespace *nsPtr));
- EXTERN Tcl_Namespace *Tcl_FindNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *name, Tcl_Namespace *context, int flags));
- EXTERN int Tcl_Export _ANSI_ARGS_((Tcl_Interp *interp, Tcl_Namespace *nsPtr,
- CONST char *name, int resetFlag));
- EXTERN Tcl_Var Tcl_FindNamespaceVar _ANSI_ARGS_((Tcl_Interp *interp, char *name,
- Tcl_Namespace *contextNsPtr, int flags));
- EXTERN void Tcl_PopCallFrame _ANSI_ARGS_((Tcl_Interp *interp));
- EXTERN int Tcl_PushCallFrame _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_CallFrame * framePtr, Tcl_Namespace *nsPtr, int isProcCallFrame));
- extern Tcl_HashTable *Blt_GetArrayVariableTable _ANSI_ARGS_((
- Tcl_Interp *interp, CONST char *varName, int flags));
- #endif /* TCL_MAJOR_VERSION >= 8 */
- /*
- * Auxillary procedures
- */
- EXTERN Tcl_Namespace *Blt_GetVariableNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *varName));
- EXTERN Tcl_Namespace *Blt_GetCommandNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_Command cmdToken));
- EXTERN Tcl_CallFrame *Blt_EnterNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_Namespace *nsPtr));
- EXTERN void Blt_LeaveNamespace _ANSI_ARGS_((Tcl_Interp *interp,
- Tcl_CallFrame * framePtr));
- EXTERN int Blt_ParseQualifiedName _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *name, Tcl_Namespace **nsPtrPtr, CONST char **namePtr));
- EXTERN char *Blt_GetQualifiedName _ANSI_ARGS_((Tcl_Namespace *nsPtr,
- CONST char *name, Tcl_DString *resultPtr));
- EXTERN Tcl_Command Blt_CreateCommand _ANSI_ARGS_((Tcl_Interp *interp,
- CONST char *cmdName, Tcl_CmdProc *proc, ClientData clientData,
- Tcl_CmdDeleteProc *deleteProc));
- #endif /* BLT_NS_UTIL_H */