#pragma prototyped
#ifndef __TKSHLIB_H_
#define __TKSHLIB_H_
#include <tksh.h>
#include <config.h>
#include <stdio.h>
#include <ctype.h>
#define NTcl_FreeResult(interp) do { sfprintf(sfstderr, "Free of %s at %s %d (%x)\n", (interp)->result, __FILE__, __LINE__, (interp)->freeProc); (interp)->freeProc = 0; } while(0)
#include "shcompat.h"
/*
* The macro below is used to modify a "char" value (e.g. by casting
* it to an unsigned character) so that it can be used safely with
* macros such as isspace.
*/
#define UCHAR(c) ((unsigned char) (c))
/*
* Given a size or address, the macro below "aligns" it to the machine's
* memory unit size (e.g. an 8-byte boundary) so that anything can be
* placed at the aligned address without fear of an alignment error.
*/
/*
* Patchlevel
*/
#if TCL_MINOR_VERSION == 3
#else
#ifndef TCL_PATCH_LEVEL
#endif
#endif
#ifndef NO_TCL_INTERP /* Parsing stuff */
typedef struct ParseValue {
* output buffer. */
* output buffer. */
* in the buffer. */
/* Procedure to call when space runs out;
* it will make more space. */
* expandProc. */
} ParseValue;
/*
* A table used to classify input characters to assist in parsing
* Tcl commands. The table should be indexed with a signed character
* using the CHAR_TYPE macro. The character may have a negative
* value.
*/
extern char tclTypeTable[];
#if _BLD_tcl && defined(__EXPORT__)
#define extern __EXPORT__
#endif
/*
* Possible values returned by CHAR_TYPE:
*
* TCL_NORMAL - All characters that don't have special significance
* to the Tcl language.
* TCL_SPACE - Character is space, tab, or return.
* TCL_COMMAND_END - Character is newline or null or semicolon or
* close-bracket.
* TCL_QUOTE - Character is a double-quote.
* TCL_OPEN_BRACKET - Character is a "[".
* TCL_OPEN_BRACE - Character is a "{".
* TCL_CLOSE_BRACE - Character is a "}".
* TCL_BACKSLASH - Character is a "\".
* TCL_DOLLAR - Character is a "$".
*/
#define TCL_NORMAL 0
#ifndef TCL_BRACKET_TERM
#endif
extern void TclWinFlushEvents(void);
extern int Tcl_NumEventsFound(void);
#endif
#ifndef NO_TCL_INTERP /* Tcl backward compat. stuff */
/*
*----------------------------------------------------------------
* Data structures related to procedures. These are used primarily
* in tclProc.c
*----------------------------------------------------------------
*/
/*
* The structure below defines an argument to a procedure, which
* consists of a name and an (optional) default value.
*/
typedef struct Arg {
* or NULL if this is the last argument. */
* if no default value. */
* is followed by space for the default,
* if there is one. The actual size of this
* field will be as large as necessary to
* hold both name and default value. THIS
* MUST BE THE LAST FIELD IN THE STRUCTURE!! */
} Arg;
/*
* The structure below defines a command procedure, which consists of
* a collection of Tcl commands plus information about arguments and
* variables.
*/
typedef struct Proc {
* is defined. */
* in command table plus 1 for each call
* to the procedure that is currently
* active. This structure can be freed
* when refCount becomes zero. */
* the procedure (dynamically allocated). */
* arguments, or NULL if none. */
} Proc;
extern char * TkshMapName(char *name);
extern char * TkshMapKeyword(char *name);
extern char * TkshLibDir(void);
extern int TkshSetListMode(int mode);
#endif
#undef extern
#include "debug.h"
typedef struct TclEventSource {
* Tcl_DoOneEvent to set up information
* for the wait operation, such as
* files to wait for or maximum
* timeout. */
* Tcl_DoOneEvent after its wait
* operation to see what events
* are ready and queue them. */
* to setupProc and checkProc. */
* defined for applicaton. */
#if _BLD_tcl && defined(__EXPORT__)
#define extern __EXPORT__
#endif
int *fileUsedPtr);
char *targetName);
EXTERN unsigned long TclGetSeconds(void);
unsigned long *timePtr);
char *string, int *seekFlagPtr);
EXTERN unsigned long TclGetClicks(void);
EXTERN int TclIdlePending(void);
EXTERN int TclServiceIdle(void);
ParseValue *pvPtr);
ParseValue *pvPtr);
int flags);
#undef extern
/*
*----------------------------------------------------------------
* Variables shared among Tcl modules but not used by the outside
* world:
*----------------------------------------------------------------
*/
extern int tclInInterpreterDeletion;
extern char * tclExecutableName;
typedef struct Trace {
* less than or equal to this. */
} Trace;
typedef struct AssocData {
} AssocData;
#endif /* __TKSHLIB_H_ */