64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
|
} TraceCommandInfo;
/*
* Used by command execution traces. Note that we assume in the code that
* TCL_TRACE_ENTER_DURING_EXEC == 4 * TCL_TRACE_ENTER_EXEC and that
* TCL_TRACE_LEAVE_DURING_EXEC == 4 * TCL_TRACE_LEAVE_EXEC.
*
* The flag 'TCL_TRACE_DESTROYED' may also be used in command execution traces.
*/
enum {
TCL_TRACE_ENTER_DURING_EXEC = 4,
* TCL_TRACE_ENTER_DURING_EXEC - Trace each command inside the command
* currently being traced, before execution.
* TCL_TRACE_LEAVE_DURING_EXEC - Trace each command inside the command
* currently being traced, after execution.
* TCL_TRACE_ANY_EXEC - OR'd combination of all EXEC flags.
* TCL_TRACE_EXEC_IN_PROGRESS - The callback function on this trace is
* currently executing. Therefore we don't let
* further traces execute.
* TCL_TRACE_EXEC_DIRECT - This execution trace is triggered directly
* by the command being traced, not because of
* an internal trace.
/* Trace each command inside the command
* currently being traced, before execution.*/
TCL_TRACE_LEAVE_DURING_EXEC = 8,
/* Trace each command inside the command
* currently being traced, after execution. */
TCL_TRACE_ANY_EXEC = 15, /* OR'd combination of all EXEC flags. */
TCL_TRACE_EXEC_IN_PROGRESS = 0x10,
/* The callback function on this trace is
* currently executing. Therefore we don't let
* further traces execute. */
TCL_TRACE_EXEC_DIRECT = 0x20
/* This execution trace is triggered directly
* by the command being traced, not because of
* an internal trace. */
* The flag 'TCL_TRACE_DESTROYED' may also be used in command execution traces.
*/
};
#define TCL_TRACE_ENTER_DURING_EXEC 4
#define TCL_TRACE_LEAVE_DURING_EXEC 8
#define TCL_TRACE_ANY_EXEC 15
#define TCL_TRACE_EXEC_IN_PROGRESS 0x10
#define TCL_TRACE_EXEC_DIRECT 0x20
/*
* Forward declarations for functions defined in this file:
*/
typedef int (Tcl_TraceTypeObjCmd)(Tcl_Interp *interp, int optionIndex,
int objc, Tcl_Obj *const objv[]);
|