]> git.zerfleddert.de Git - micropolis/blame - src/tclx/src/tclxtend.h
Import Micropolis from http://www.donhopkins.com/home/micropolis/
[micropolis] / src / tclx / src / tclxtend.h
CommitLineData
6a5fa4e0
MG
1/*
2 * tclExtend.h
3 *
4 * External declarations for the extended Tcl library.
5 *-----------------------------------------------------------------------------
6 * Copyright 1992 Karl Lehenbauer and Mark Diekhans.
7 *
8 * Permission to use, copy, modify, and distribute this software and its
9 * documentation for any purpose and without fee is hereby granted, provided
10 * that the above copyright notice appear in all copies. Karl Lehenbauer and
11 * Mark Diekhans make no representations about the suitability of this
12 * software for any purpose. It is provided "as is" without express or
13 * implied warranty.
14 *-----------------------------------------------------------------------------
15 * $Id: tclExtend.h,v 2.0 1992/10/16 04:51:29 markd Rel $
16 *-----------------------------------------------------------------------------
17 */
18
19#ifndef TCLEXTEND_H
20#define TCLEXTEND_H
21
22#include <stdio.h>
23#include "tcl.h"
24
25/*
26 * Version suffix for extended Tcl, this is appended to the standard Tcl
27 * version to form the actual extended Tcl version.
28 */
29
30#define TCL_EXTD_VERSION_SUFFIX "c" /* 6.1c, 6.2c or 6.3c */
31
32#ifdef MSDOS
33#define TCL_NO_ITIMER
34#define TCL_NO_FILE_LOCKING
35#define TCL_IEEE_FP_MATH
36#define TCL_32_BIT_RANDOM
37#define TCL_POSIX_SIG
38#define TCL_TM_GMTOFF
39#endif
40
41typedef void *void_pt;
42
43/*
44 * Flags for Tcl shell startup.
45 */
46#define TCLSH_QUICK_STARTUP 1 /* Don't process default & init files. */
47#define TCLSH_ABORT_STARTUP_ERR 2 /* Abort on an error. */
48#define TCLSH_NO_INIT_FILE 4 /* Don't process the init file. */
49
50/*
51 * These globals are used by the infox command. Should be set by main.
52 */
53
54extern char *tclxVersion; /* Extended Tcl version number. */
55extern int tclxPatchlevel; /* Extended Tcl patch level. */
56
57extern char *tclAppName; /* Application name */
58extern char *tclAppLongname; /* Long, natural language application name */
59extern char *tclAppVersion; /* Version number of the application */
60
61/*
62 * If set to be a pointer to the procedure Tcl_RecordAndEval, will link in
63 * history. Should be set by main.
64 */
65extern int (*tclShellCmdEvalProc) ();
66
67/*
68 * If non-zero, a signal was received. Normally signals are handled in
69 * Tcl_Eval, but if an application does not return to eval for some period
70 * of time, then this should be checked and Tcl_CheckForSignal called if
71 * this is set.
72 */
73extern int tclReceivedSignal;
74
75/*
76 * Exported Extended Tcl functions.
77 */
78
79EXTERN int
80Tcl_CheckForSignal _ANSI_ARGS_((Tcl_Interp *interp,
81 int cmdResultCode));
82
83EXTERN void
84Tcl_CommandLoop _ANSI_ARGS_((Tcl_Interp *interp,
85 FILE *inFile,
86 FILE *outFile,
87 int (*evalProc) (),
88 unsigned options));
89
90EXTERN Tcl_Interp *
91Tcl_CreateExtendedInterp ();
92
93EXTERN char *
94Tcl_DeleteKeyedListField _ANSI_ARGS_((Tcl_Interp *interp,
95 CONST char *fieldName,
96 CONST char *keyedList));
97EXTERN char *
98Tcl_DownShift _ANSI_ARGS_((char *targetStr,
99 CONST char *sourceStr));
100EXTERN void
101Tcl_ErrorAbort _ANSI_ARGS_((Tcl_Interp *interp,
102 int exitCode));
103
104EXTERN char *
105Tcl_UpShift _ANSI_ARGS_((char *targetStr,
106 CONST char *sourceStr));
107
108EXTERN int
109Tcl_GetKeyedListField _ANSI_ARGS_((Tcl_Interp *interp,
110 CONST char *fieldName,
111 CONST char *keyedList,
112 char **fieldValuePtr));
113
114int
115Tcl_GetKeyedListKeys _ANSI_ARGS_((Tcl_Interp *interp,
116 CONST char *subFieldName,
117 CONST char *keyedList,
118 int *keyesArgcPtr,
119 char ***keyesArgvPtr));
120
121EXTERN int
122Tcl_GetLong _ANSI_ARGS_((Tcl_Interp *interp,
123 CONST char *string,
124 long *longPtr));
125
126EXTERN int
127Tcl_GetUnsigned _ANSI_ARGS_((Tcl_Interp *interp,
128 CONST char *string,
129 unsigned *unsignedPtr));
130
131EXTERN char *
132Tcl_SetKeyedListField _ANSI_ARGS_((Tcl_Interp *interp,
133 CONST char *fieldName,
134 CONST char *fieldvalue,
135 CONST char *keyedList));
136
137EXTERN int
138Tcl_StrToLong _ANSI_ARGS_((CONST char *string,
139 int base,
140 long *longPtr));
141
142EXTERN int
143Tcl_StrToInt _ANSI_ARGS_((CONST char *string,
144 int base,
145 int *intPtr));
146
147EXTERN int
148Tcl_StrToUnsigned _ANSI_ARGS_((CONST char *string,
149 int base,
150 unsigned *unsignedPtr));
151
152EXTERN int
153Tcl_StrToDouble _ANSI_ARGS_((CONST char *string,
154 double *doublePtr));
155
156EXTERN void_pt
157Tcl_HandleAlloc _ANSI_ARGS_((void_pt headerPtr,
158 char *handlePtr));
159
160EXTERN void
161Tcl_HandleFree _ANSI_ARGS_((void_pt headerPtr,
162 void_pt entryPtr));
163
164EXTERN void_pt
165Tcl_HandleTblInit _ANSI_ARGS_((CONST char *handleBase,
166 int entrySize,
167 int initEntries));
168
169EXTERN void
170Tcl_HandleTblRelease _ANSI_ARGS_((void_pt headerPtr));
171
172EXTERN int
173Tcl_HandleTblUseCount _ANSI_ARGS_((void_pt headerPtr,
174 int amount));
175
176EXTERN void_pt
177Tcl_HandleWalk _ANSI_ARGS_((void_pt headerPtr,
178 int *walkKeyPtr));
179
180EXTERN void
181Tcl_WalkKeyToHandle _ANSI_ARGS_((void_pt headerPtr,
182 int walkKey,
183 char *handlePtr));
184
185EXTERN void_pt
186Tcl_HandleXlate _ANSI_ARGS_((Tcl_Interp *interp,
187 void_pt headerPtr,
188 CONST char *handle));
189
190EXTERN int
191Tcl_MathError _ANSI_ARGS_((char *functionName,
192 int errorType));
193
194EXTERN void
195Tcl_Startup _ANSI_ARGS_((Tcl_Interp *interp,
196 int argc,
197 CONST char **argv,
198 CONST char *defaultFile,
199 unsigned options));
200
201EXTERN int
202Tcl_ShellEnvInit _ANSI_ARGS_((Tcl_Interp *interp,
203 unsigned options,
204 CONST char *programName,
205 int argc,
206 CONST char **argv,
207 int interactive,
208 CONST char *defaultFile));
209
210EXTERN int
211Tcl_System _ANSI_ARGS_((Tcl_Interp *interp,
212 char *command));
213
214#endif
Impressum, Datenschutz