** ** Module Header ******************************************************* ** ** ** ** Modules Revision 3.0 ** ** Providing a flexible user environment ** ** ** ** File: cmdTrace.c ** ** First Edition: 95/12/26 ** ** ** ** Authors: Jens Hamisch, jens@Strawberry.COM ** ** ** ** Description: The Tcl module-trace routine which provides a con- ** ** trolling interface to the modulecmd tracing feature ** ** ** ** Exports: cmdModuleTrace ** ** GetTraceSel ** ** CheckTracing ** ** CheckTracingList ** ** ** ** Notes: ** ** ** ** ************************************************************************ **
#define MOD_TR_UNLOAD _all_off
#define MOD_TR_SWITCH _all_off
#define MOD_TR_DISP _all_off
#define MOD_TR_LIST _all_off
#define MOD_TR_AVAIL _all_off
#define MOD_TR_HELP _all_off
#define MOD_TR_INIT _all_off
#define MOD_TR_USE _all_off
#define MOD_TR_UNUSE _all_off
#define MOD_TR_UPDATE _all_off
#define MOD_TR_PURGE _all_off
#define MOD_TR_CLEAR _all_off
#define MOD_TR_APROPOS _all_off
#define MOD_TR_WHATIS _all_off
| struct _mod_trace | |
| { | |
| char** re_ptr; | |
| char const* cmd; | |
| char* tracing; | |
| char alloc; | |
| } |
| Used in: | cmdTrace.c |
UseId
static void* UseId[]
module_name
static char module_name[]
| Used in: | ChangeTraceSel() |
| CheckTracing() | |
| CheckTracingList() | |
| cmdModuleTrace() |
_all
static char _all[]
| Used in: | ChangeTraceSel() |
| cmdModuleTrace() |
_all_on
static char _all_on[]
| Used in: | ChangeTraceSel() |
_all_off
static char _all_off[]
| Used in: | cmdTrace.c | |
| ChangeTraceSel() |
TraceSelect
static ModTrace TraceSelect[]
| Used in: | ChangeTraceSel() |
| CheckTracing() | |
| CheckTracingList() | |
| GetTraceSel() | |
| GetTraceTable() | |
| cmdModuleTrace() |
** ** Function-Header ***************************************************** ** ** ** ** Function: CheckTracing ** ** ** ** Description: Check wheter thracing is turned on for the passed ** ** command and modulefile ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *cmd Subcommand to be checked ** ** char *modulefile Modulefile to be checked ** ** ** ** Result: int 0 No tracing ** ** 1 Tracing enabled ** ** ** ** ************************************************************************ **int CheckTracing ( Tcl_Interp* interp, char* cmd, char* modulefile )
| Prototyped in: | modules_def.h | |
| Calls: | CheckTracingPat() | cmdTrace.c |
| GetTraceTable() | cmdTrace.c | |
| Module_Error() | error.c | |
| Called by: | cmdModuleInfo() | cmdInfo.c |
| References Variables: | TraceSelect | cmdTrace.c |
| module_name | cmdTrace.c | |
** ** Function-Header ***************************************************** ** ** ** ** Function: CheckTracingList ** ** ** ** Description: Check wheter tracing is turned on for the passed ** ** command and at least one of the passed modulefiles ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *cmd Subcommand to be checked ** ** int count Number of passed modulefiles ** ** char **modules Modulefiles to be checked ** ** ** ** Result: int 0 No tracing ** ** 1 Tracing enabled ** ** ** ** ************************************************************************ **int CheckTracingList ( Tcl_Interp* interp, char* cmd, int count, char** modules )
| Prototyped in: | modules_def.h | |
| Calls: | CheckTracingPat() | cmdTrace.c |
| GetTraceTable() | cmdTrace.c | |
| Module_Error() | error.c | |
| Called by: | cmdModule() | cmdModule.c |
| References Variables: | TraceSelect | cmdTrace.c |
| module_name | cmdTrace.c | |
** ** Function-Header ***************************************************** ** ** ** ** Function: GetTraceSel ** ** ** ** Description: Retrieve the trace selection pattern for the passed ** ** module command ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *cmd Subcommand to be checked ** ** ** ** Result: char * NULL Module subcommand not found ** ** Otherwise Assigned trace pattern ** ** ** ** ************************************************************************ **char* GetTraceSel ( Tcl_Interp* interp, char* cmd )
| Prototyped in: | modules_def.h | |
| Calls: | GetTraceTable() | cmdTrace.c |
| Called by: | cmdModuleInfo() | cmdInfo.c |
| References Variables: | TraceSelect | cmdTrace.c |
** ** Function-Header ***************************************************** ** ** ** ** Function: cmdModuleTrace ** ** ** ** Description: Callback function for 'trace' ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: ClientData client_data ** ** Tcl_Interp *interp According Tcl interp.** ** int argc Number of arguments ** ** char *argv[] Argument array ** ** ** ** Result: int TCL_OK Successfull completion ** ** TCL_ERROR Any error ** ** ** ** Attached Globals: TraceSelect List containing all tracing settings ** ** g_flags These are set up accordingly before ** ** this function is called in order to ** ** control everything ** ** ** ** ************************************************************************ **int cmdModuleTrace ( ClientData client_data, Tcl_Interp* interp, int argc, char* argv[] )
| Prototyped in: | modules_def.h | |
| Calls: | ChangeTraceSel() | cmdTrace.c |
| GetTraceTable() | cmdTrace.c | |
| Module_Error() | error.c | |
| fprintf(), malloc(), memset(), strcmp(), strlen(), strncmp() | ||
| Used in: | InitializeModuleCommands() | init.c |
| References Variables: | TraceSelect | cmdTrace.c |
| _all | cmdTrace.c | |
| g_flags | main.c | |
| module_name | cmdTrace.c | |
** ** Function-Header ***************************************************** ** ** ** ** Function: ChangeTraceSel ** ** ** ** Description: Change the trace selection for all commands speci- ** ** fied in the passed 'cmd_table'. The passed module- ** ** name has to be changed according 'on_off' ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *cmd_table Boolean array indicating all ** ** commands in the TraceSelect ** ** table to be changed ** ** int cmd_tab_size Size of this array ** ** char on_off '+' switch tracing on ** ** '-' switch tracing off ** ** char *module_pat Pattern for the affected ** ** module files ** ** ** ** Result: int TCL_OK Successfull completion ** ** TCL_ERROR Any error ** ** ** ** ************************************************************************ **static int ChangeTraceSel ( Tcl_Interp* interp, char* cmd_table, int cmd_tab_size, char on_off, char* module_pat )
| Prototyped in: | cmdTrace.c | |
| Calls: | Module_Error() | error.c |
| malloc(), strchr(), strcmp(), strcpy(), strlen(), strtok() | ||
| Called by: | cmdModuleTrace() | cmdTrace.c |
| References Variables: | TraceSelect | cmdTrace.c |
| _all | cmdTrace.c | |
| _all_off | cmdTrace.c | |
| _all_on | cmdTrace.c | |
| module_name | cmdTrace.c | |
** ** Function-Header ***************************************************** ** ** ** ** Function: CheckTracingPat ** ** ** ** Description: Check the passed pattern if it enables tracing for ** ** the passed module file ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *pattern Pattern to be checked ** ** char *modulefile Modulefile to be checked ** ** ** ** Result: int 0 No tracing ** ** 1 Tracing enabled ** ** ** ** ************************************************************************ **static int CheckTracingPat ( Tcl_Interp* interp, char* pattern, char* modulefile )
| Prototyped in: | cmdTrace.c | |
| Calls: | Tcl_RegExpMatch(), strtok() | |
| Called by: | CheckTracing() | cmdTrace.c |
| CheckTracingList() | cmdTrace.c | |
** ** Function-Header ***************************************************** ** ** ** ** Function: GetTraceTable ** ** ** ** Description: Returns the TraceSelect index for the passed module ** ** subcommand ** ** ** ** First Edition: 95/12/26 ** ** ** ** Parameters: char *cmd Subcommand to be checked ** ** int num Number of commands to be chk ** ** ** ** Result: int >= 0 Successfull completion ** ** -1 Any error ** ** ** ** ************************************************************************ **static int GetTraceTable ( Tcl_Interp* interp, char* cmd, int num )
| Prototyped in: | cmdTrace.c | |
| Calls: | Tcl_RegExpMatch() | |
| Called by: | CheckTracing() | cmdTrace.c |
| CheckTracingList() | cmdTrace.c | |
| GetTraceSel() | cmdTrace.c | |
| cmdModuleTrace() | cmdTrace.c | |
| References Variables: | TraceSelect | cmdTrace.c |