tclInterp.c File Reference#include "tclInt.h"
Go to the source code of this file.
|
Data Structures |
struct | Alias |
struct | Slave |
struct | Target |
struct | Master |
struct | InterpInfo |
struct | ScriptLimitCallback |
struct | ScriptLimitCallbackKey |
Defines |
#define | ALIAS_CMDV_PREALLOC 10 |
Functions |
char * | TclSetPreInitScript (char *string) |
int | Tcl_Init (Tcl_Interp *interp) |
int | TclInterpInit (Tcl_Interp *interp) |
int | Tcl_InterpObjCmd (ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) |
int | Tcl_CreateAlias (Tcl_Interp *slaveInterp, const char *slaveCmd, Tcl_Interp *targetInterp, const char *targetCmd, int argc, const char *const *argv) |
int | Tcl_CreateAliasObj (Tcl_Interp *slaveInterp, const char *slaveCmd, Tcl_Interp *targetInterp, const char *targetCmd, int objc, Tcl_Obj *const objv[]) |
int | Tcl_GetAlias (Tcl_Interp *interp, const char *aliasName, Tcl_Interp **targetInterpPtr, const char **targetNamePtr, int *argcPtr, const char ***argvPtr) |
int | Tcl_GetAliasObj (Tcl_Interp *interp, const char *aliasName, Tcl_Interp **targetInterpPtr, const char **targetNamePtr, int *objcPtr, Tcl_Obj ***objvPtr) |
int | TclPreventAliasLoop (Tcl_Interp *interp, Tcl_Interp *cmdInterp, Tcl_Command cmd) |
Tcl_Interp * | Tcl_CreateSlave (Tcl_Interp *interp, const char *slavePath, int isSafe) |
Tcl_Interp * | Tcl_GetSlave (Tcl_Interp *interp, const char *slavePath) |
Tcl_Interp * | Tcl_GetMaster (Tcl_Interp *interp) |
int | Tcl_GetInterpPath (Tcl_Interp *askingInterp, Tcl_Interp *targetInterp) |
int | Tcl_IsSafe (Tcl_Interp *interp) |
int | Tcl_MakeSafe (Tcl_Interp *interp) |
int | Tcl_LimitExceeded (Tcl_Interp *interp) |
int | Tcl_LimitReady (Tcl_Interp *interp) |
int | Tcl_LimitCheck (Tcl_Interp *interp) |
void | Tcl_LimitAddHandler (Tcl_Interp *interp, int type, Tcl_LimitHandlerProc *handlerProc, ClientData clientData, Tcl_LimitHandlerDeleteProc *deleteProc) |
void | Tcl_LimitRemoveHandler (Tcl_Interp *interp, int type, Tcl_LimitHandlerProc *handlerProc, ClientData clientData) |
void | TclLimitRemoveAllHandlers (Tcl_Interp *interp) |
int | Tcl_LimitTypeEnabled (Tcl_Interp *interp, int type) |
int | Tcl_LimitTypeExceeded (Tcl_Interp *interp, int type) |
void | Tcl_LimitTypeSet (Tcl_Interp *interp, int type) |
void | Tcl_LimitTypeReset (Tcl_Interp *interp, int type) |
void | Tcl_LimitSetCommands (Tcl_Interp *interp, int commandLimit) |
int | Tcl_LimitGetCommands (Tcl_Interp *interp) |
void | Tcl_LimitSetTime (Tcl_Interp *interp, Tcl_Time *timeLimitPtr) |
void | Tcl_LimitGetTime (Tcl_Interp *interp, Tcl_Time *timeLimitPtr) |
void | Tcl_LimitSetGranularity (Tcl_Interp *interp, int type, int granularity) |
int | Tcl_LimitGetGranularity (Tcl_Interp *interp, int type) |
void | TclRemoveScriptLimitCallbacks (Tcl_Interp *interp) |
void | TclInitLimitSupport (Tcl_Interp *interp) |
Define Documentation
#define ALIAS_CMDV_PREALLOC 10 |
Function Documentation
int Tcl_CreateAlias |
( |
Tcl_Interp * |
slaveInterp, |
|
|
const char * |
slaveCmd, |
|
|
Tcl_Interp * |
targetInterp, |
|
|
const char * |
targetCmd, |
|
|
int |
argc, |
|
|
const char *const * |
argv | |
|
) |
| | |
int Tcl_CreateAliasObj |
( |
Tcl_Interp * |
slaveInterp, |
|
|
const char * |
slaveCmd, |
|
|
Tcl_Interp * |
targetInterp, |
|
|
const char * |
targetCmd, |
|
|
int |
objc, |
|
|
Tcl_Obj *const |
objv[] | |
|
) |
| | |
int Tcl_GetAlias |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
aliasName, |
|
|
Tcl_Interp ** |
targetInterpPtr, |
|
|
const char ** |
targetNamePtr, |
|
|
int * |
argcPtr, |
|
|
const char *** |
argvPtr | |
|
) |
| | |
Definition at line 1158 of file tclInterp.c.
References Slave::aliasTable, ckalloc, Alias::objc, Alias::objPtr, InterpInfo::slave, Alias::targetInterp, Tcl_AppendResult(), TCL_ERROR, Tcl_FindHashEntry, Tcl_GetHashValue, TCL_OK, Tcl_SetErrorCode(), and TclGetString.
int Tcl_GetAliasObj |
( |
Tcl_Interp * |
interp, |
|
|
const char * |
aliasName, |
|
|
Tcl_Interp ** |
targetInterpPtr, |
|
|
const char ** |
targetNamePtr, |
|
|
int * |
objcPtr, |
|
|
Tcl_Obj *** |
objvPtr | |
|
) |
| | |
Definition at line 1219 of file tclInterp.c.
References Slave::aliasTable, Alias::objc, Alias::objPtr, InterpInfo::slave, Alias::targetInterp, Tcl_AppendResult(), TCL_ERROR, Tcl_FindHashEntry, Tcl_GetHashValue, TCL_OK, Tcl_SetErrorCode(), and TclGetString.
Definition at line 1951 of file tclInterp.c.
References InterpInfo::master, Slave::masterInterp, InterpInfo::slave, Slave::slaveEntryPtr, Master::slaveTable, Tcl_AppendElement(), TCL_ERROR, Tcl_GetHashKey, Tcl_GetInterpPath(), and TCL_OK.
Referenced by Tcl_GetInterpPath(), and Tcl_InterpObjCmd().
int Tcl_InterpObjCmd |
( |
ClientData |
clientData, |
|
|
Tcl_Interp * |
interp, |
|
|
int |
objc, |
|
|
Tcl_Obj *const |
objv[] | |
|
) |
| | |
Definition at line 552 of file tclInterp.c.
References Slave::aliasTable, Slave::interpCmd, InterpInfo::master, Slave::masterInterp, InterpInfo::slave, Master::slaveTable, Alias::targetInterp, Tcl_AppendResult(), Tcl_DecrRefCount, Tcl_DeleteCommandFromToken(), TCL_ERROR, Tcl_FindHashEntry, Tcl_FirstHashEntry(), Tcl_GetChannel(), Tcl_GetCommandInfo(), Tcl_GetHashKey, Tcl_GetHashValue, Tcl_GetIndexFromObj(), Tcl_GetInterpPath(), Tcl_GetString(), TCL_INTEGER_SPACE, Tcl_IsSafe(), Tcl_ListObjAppendElement(), Tcl_NewBooleanObj(), Tcl_NewObj(), Tcl_NewStringObj(), Tcl_NextHashEntry(), TCL_OK, Tcl_RegisterChannel(), Tcl_ResetResult(), Tcl_SetErrorCode(), Tcl_SetObjResult(), Tcl_UnregisterChannel(), Tcl_WrongNumArgs(), TclGetString, and TclTransferResult().
Referenced by TclInterpInit().
void Tcl_LimitAddHandler |
( |
Tcl_Interp * |
interp, |
|
|
int |
type, |
|
|
Tcl_LimitHandlerProc * |
handlerProc, |
|
|
ClientData |
clientData, |
|
|
Tcl_LimitHandlerDeleteProc * |
deleteProc | |
|
) |
| | |
Definition at line 3119 of file tclInterp.c.
References ckalloc, LimitHandler::clientData, Interp::cmdHandlers, LimitHandler::deleteProc, LimitHandler::flags, LimitHandler::handlerProc, Interp::limit, LimitHandler::nextPtr, LimitHandler::prevPtr, TCL_DYNAMIC, Tcl_Free(), TCL_LIMIT_COMMANDS, TCL_LIMIT_TIME, Tcl_Panic(), TCL_STATIC, and Interp::timeHandlers.
Definition at line 2975 of file tclInterp.c.
References Interp::active, Interp::cmdCount, Interp::cmdGranularity, Interp::cmdHandlers, Interp::exceeded, Interp::granularityTicker, Interp::limit, Tcl_Time::sec, Tcl_AppendResult(), TCL_ERROR, Tcl_GetTime(), Tcl_InterpDeleted(), TCL_LIMIT_COMMANDS, TCL_LIMIT_TIME, TCL_OK, Tcl_Preserve(), Tcl_Release(), Tcl_ResetResult(), Interp::time, Interp::timeGranularity, Interp::timeHandlers, and Tcl_Time::usec.
Referenced by TclEvalObjvInternal(), and TclExecuteByteCode().
int Tcl_LimitGetGranularity |
( |
Tcl_Interp * |
interp, |
|
|
int |
type | |
|
) |
| | |
void Tcl_LimitRemoveHandler |
( |
Tcl_Interp * |
interp, |
|
|
int |
type, |
|
|
Tcl_LimitHandlerProc * |
handlerProc, |
|
|
ClientData |
clientData | |
|
) |
| | |
Definition at line 3196 of file tclInterp.c.
References LimitHandler::clientData, Interp::cmdHandlers, LimitHandler::flags, LimitHandler::handlerProc, Interp::limit, LIMIT_HANDLER_DELETED, LimitHandler::nextPtr, TCL_LIMIT_COMMANDS, TCL_LIMIT_TIME, Tcl_Panic(), and Interp::timeHandlers.
Referenced by TclRemoveScriptLimitCallbacks().
void Tcl_LimitSetCommands |
( |
Tcl_Interp * |
interp, |
|
|
int |
commandLimit | |
|
) |
| | |
void Tcl_LimitSetGranularity |
( |
Tcl_Interp * |
interp, |
|
|
int |
type, |
|
|
int |
granularity | |
|
) |
| | |
int Tcl_LimitTypeEnabled |
( |
Tcl_Interp * |
interp, |
|
|
int |
type | |
|
) |
| | |
int Tcl_LimitTypeExceeded |
( |
Tcl_Interp * |
interp, |
|
|
int |
type | |
|
) |
| | |
void Tcl_LimitTypeReset |
( |
Tcl_Interp * |
interp, |
|
|
int |
type | |
|
) |
| | |
void Tcl_LimitTypeSet |
( |
Tcl_Interp * |
interp, |
|
|
int |
type | |
|
) |
| | |
Definition at line 2811 of file tclInterp.c.
References Interp::flags, SAFE_INTERP, Tcl_GetStdChannel(), TCL_GLOBAL_ONLY, TCL_OK, TCL_STDERR, TCL_STDIN, TCL_STDOUT, Tcl_UnregisterChannel(), Tcl_UnsetVar(), Tcl_UnsetVar2(), and TclHideUnsafeCommands().
Definition at line 3910 of file tclInterp.c.
References Interp::active, Interp::callbacks, Interp::cmdCount, Interp::cmdGranularity, Interp::cmdHandlers, Interp::exceeded, Interp::granularityTicker, Interp::limit, Tcl_InitHashTable(), Interp::time, Interp::timeEvent, Interp::timeGranularity, and Interp::timeHandlers.
Referenced by Tcl_CreateInterp().
Definition at line 428 of file tclInterp.c.
References Slave::aliasTable, ckalloc, Slave::interpCmd, InterpInfo::master, Slave::masterInterp, InterpInfo::slave, Slave::slaveEntryPtr, Slave::slaveInterp, Master::slaveTable, Master::targetsPtr, Tcl_CallWhenDeleted(), Tcl_CreateObjCommand(), Tcl_InitHashTable(), Tcl_InterpObjCmd(), TCL_OK, and TCL_STRING_KEYS.
void TclLimitRemoveAllHandlers |
( |
Tcl_Interp * |
interp |
) |
|
Definition at line 3288 of file tclInterp.c.
References ckfree, LimitHandler::clientData, Interp::cmdHandlers, LimitHandler::deleteProc, LimitHandler::flags, Interp::limit, LIMIT_HANDLER_ACTIVE, LIMIT_HANDLER_DELETED, LimitHandler::nextPtr, LimitHandler::prevPtr, Tcl_DeleteTimerHandler(), Interp::timeEvent, and Interp::timeHandlers.
Definition at line 1282 of file tclInterp.c.
References Command::objClientData, Command::objProc, Alias::objPtr, Alias::targetInterp, Tcl_AppendResult(), TCL_ERROR, Tcl_FindCommand(), Tcl_GetCommandName(), Tcl_GetGlobalNamespace(), Tcl_InterpDeleted(), TCL_OK, and TclGetString.
Referenced by TclRenameCommand().
void TclRemoveScriptLimitCallbacks |
( |
Tcl_Interp * |
interp |
) |
|
char* TclSetPreInitScript |
( |
char * |
string |
) |
|
Generated on Wed Mar 12 12:18:32 2008 by
1.5.1
|