Annotation of researchv10no/cmd/worm/scsi/tcl.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * tcl.h --
                      3:  *
                      4:  *     This header file describes the externally-visible facilities
                      5:  *     of the Tcl interpreter.
                      6:  *
                      7:  * Copyright 1987 Regents of the University of California
                      8:  * Permission to use, copy, modify, and distribute this
                      9:  * software and its documentation for any purpose and without
                     10:  * fee is hereby granted, provided that the above copyright
                     11:  * notice appear in all copies.  The University of California
                     12:  * makes no representations about the suitability of this
                     13:  * software for any purpose.  It is provided "as is" without
                     14:  * express or implied warranty.
                     15:  *
                     16:  * $Header: /sprite/src/lib/tcl/RCS/tcl.h,v 1.35 90/04/18 16:05:56 ouster Exp $ SPRITE (Berkeley)
                     17:  */
                     18: 
                     19: #ifndef _TCL
                     20: #define _TCL
                     21: 
                     22: /*
                     23:  * Data structures defined opaquely in this module.  The definitions
                     24:  * below just provide dummy types.  A few fields are made visible in
                     25:  * Tcl_Interp structures, namely those for returning string values.
                     26:  * Note:  any change to the Tcl_Interp definition below must be mirrored
                     27:  * in the "real" definition in tclInt.h.
                     28:  */
                     29: 
                     30: typedef struct Tcl_Interp{
                     31:     char *result;              /* Points to result string returned by last
                     32:                                 * command. */
                     33:     int dynamic;               /* Non-zero means result is dynamically-
                     34:                                 * allocated and must be freed by Tcl_Eval
                     35:                                 * before executing the next command. */
                     36:     int errorLine;             /* When TCL_ERROR is returned, this gives
                     37:                                 * the line number within the command where
                     38:                                 * the error occurred (1 means first line). */
                     39: } Tcl_Interp;
                     40: 
                     41: typedef int *Tcl_Trace;
                     42: typedef int *Tcl_CmdBuf;
                     43: 
                     44: /*
                     45:  * When a TCL command returns, the string pointer interp->result points to
                     46:  * a string containing return information from the command.  In addition,
                     47:  * the command procedure returns an integer value, which is one of the
                     48:  * following:
                     49:  *
                     50:  * TCL_OK              Command completed normally;  interp->result contains
                     51:  *                     the command's result.
                     52:  * TCL_ERROR           The command couldn't be completed successfully;
                     53:  *                     interp->result describes what went wrong.
                     54:  * TCL_RETURN          The command requests that the current procedure
                     55:  *                     return;  interp->result contains the procedure's
                     56:  *                     return value.
                     57:  * TCL_BREAK           The command requests that the innermost loop
                     58:  *                     be exited;  interp->result is meaningless.
                     59:  * TCL_CONTINUE                Go on to the next iteration of the current loop;
                     60:  *                     interp->result is meaninless.
                     61:  */
                     62: 
                     63: #define TCL_OK         0
                     64: #define TCL_ERROR      1
                     65: #define TCL_RETURN     2
                     66: #define TCL_BREAK      3
                     67: #define TCL_CONTINUE   4
                     68: 
                     69: #define TCL_RESULT_SIZE 199
                     70: 
                     71: /*
                     72:  * Flag values passed to Tcl_Eval (see the man page for details;  also
                     73:  * see tclInt.h for additional flags that are only used internally by
                     74:  * Tcl):
                     75:  */
                     76: 
                     77: #define TCL_BRACKET_TERM       1
                     78: 
                     79: /*
                     80:  * Flag value passed to Tcl_RecordAndEval to request no evaluation
                     81:  * (record only).
                     82:  */
                     83: 
                     84: #define TCL_NO_EVAL            -1
                     85: 
                     86: /*
                     87:  * Flag values passed to Tcl_Return (see the man page for details):
                     88:  */
                     89: 
                     90: #define TCL_STATIC     0
                     91: #define TCL_DYNAMIC    1
                     92: #define TCL_VOLATILE   2
                     93: 
                     94: #ifndef _CLIENTDATA
                     95: typedef int *ClientData;
                     96: #define _CLIENTDATA
                     97: #endif
                     98: 
                     99: /*
                    100:  * Exported Tcl procedures:
                    101:  */
                    102: 
                    103: typedef int (*Tcl_Cmdfn)(ClientData, Tcl_Interp *, int, char **);
                    104: typedef void (*Tcl_Tracefn)(ClientData, Tcl_Interp *, int, char *, Tcl_Cmdfn, ClientData, int, char **);
                    105: extern char *          Tcl_AssembleCmd(Tcl_CmdBuf, char *);
                    106: extern void            Tcl_AddErrorInfo(Tcl_Interp *, char *);
                    107: extern char            Tcl_Backslash(char *, int *);
                    108: extern char *          Tcl_Concat(int, char **);
                    109: extern Tcl_CmdBuf      Tcl_CreateCmdBuf(void);
                    110: extern void            Tcl_CreateCommand(Tcl_Interp *, char *, Tcl_Cmdfn, ClientData, void (*)(ClientData));
                    111: extern Tcl_Interp *    Tcl_CreateInterp(void);
                    112: extern Tcl_Trace       Tcl_CreateTrace(Tcl_Interp *, int, Tcl_Tracefn, ClientData);
                    113: extern void            Tcl_DeleteCmdBuf(Tcl_CmdBuf);
                    114: extern void            Tcl_DeleteCommand(Tcl_Interp *, char *);
                    115: extern void            Tcl_DeleteInterp(Tcl_Interp *);
                    116: extern void            Tcl_DeleteTrace(Tcl_Interp *, Tcl_Trace);
                    117: extern int             Tcl_Eval(Tcl_Interp *, char *, int, char **);
                    118: extern int             Tcl_Expr(Tcl_Interp *, char *, int *);
                    119: extern char *          Tcl_GetVar(Tcl_Interp *, char *, int);
                    120: extern char *          Tcl_Merge(int, char **);
                    121: extern char *          Tcl_ParseVar(Tcl_Interp *, char *, char **);
                    122: extern int             Tcl_RecordAndEval(Tcl_Interp *, char *, int);
                    123: extern void            Tcl_Return(Tcl_Interp *, char *, int);
                    124: extern void            Tcl_SetVar(Tcl_Interp *, char *, char *, int);
                    125: extern int             Tcl_SplitList(Tcl_Interp *, char *, int *, char ***);
                    126: extern int             Tcl_StringMatch(char *, char *);
                    127: extern char *          Tcl_TildeSubst(Tcl_Interp *, char *);
                    128: extern void            Tcl_WatchInterp(Tcl_Interp *, void (*)(void), ClientData);
                    129: 
                    130: /*
                    131:  * Built-in Tcl command procedures:
                    132:  */
                    133: 
                    134: extern int             Tcl_BreakCmd(ClientData , Tcl_Interp *, int , char **);
                    135: extern int             Tcl_CaseCmd(ClientData , Tcl_Interp *, int , char **);
                    136: extern int             Tcl_CatchCmd(ClientData , Tcl_Interp *, int , char **);
                    137: extern int             Tcl_ConcatCmd(ClientData , Tcl_Interp *, int , char **);
                    138: extern int             Tcl_ContinueCmd(ClientData , Tcl_Interp *, int , char **);
                    139: extern int             Tcl_ErrorCmd(ClientData , Tcl_Interp *, int , char **);
                    140: extern int             Tcl_EvalCmd(ClientData , Tcl_Interp *, int , char **);
                    141: extern int             Tcl_ExecCmd(ClientData , Tcl_Interp *, int , char **);
                    142: extern int             Tcl_ExprCmd(ClientData , Tcl_Interp *, int , char **);
                    143: extern int             Tcl_FileCmd(ClientData , Tcl_Interp *, int , char **);
                    144: extern int             Tcl_ForCmd(ClientData , Tcl_Interp *, int , char **);
                    145: extern int             Tcl_ForeachCmd(ClientData , Tcl_Interp *, int , char **);
                    146: extern int             Tcl_FormatCmd(ClientData , Tcl_Interp *, int , char **);
                    147: extern int             Tcl_GlobCmd(ClientData , Tcl_Interp *, int , char **);
                    148: extern int             Tcl_GlobalCmd(ClientData , Tcl_Interp *, int , char **);
                    149: extern int             Tcl_HistoryCmd(ClientData , Tcl_Interp *, int , char **);
                    150: extern int             Tcl_IfCmd(ClientData , Tcl_Interp *, int , char **);
                    151: extern int             Tcl_InfoCmd(ClientData , Tcl_Interp *, int , char **);
                    152: extern int             Tcl_IndexCmd(ClientData , Tcl_Interp *, int , char **);
                    153: extern int             Tcl_LengthCmd(ClientData , Tcl_Interp *, int , char **);
                    154: extern int             Tcl_ListCmd(ClientData , Tcl_Interp *, int , char **);
                    155: extern int             Tcl_PrintCmd(ClientData , Tcl_Interp *, int , char **);
                    156: extern int             Tcl_ProcCmd(ClientData , Tcl_Interp *, int , char **);
                    157: extern int             Tcl_RangeCmd(ClientData , Tcl_Interp *, int , char **);
                    158: extern int             Tcl_RenameCmd(ClientData , Tcl_Interp *, int , char **);
                    159: extern int             Tcl_ReturnCmd(ClientData , Tcl_Interp *, int , char **);
                    160: extern int             Tcl_ScanCmd(ClientData , Tcl_Interp *, int , char **);
                    161: extern int             Tcl_SetCmd(ClientData , Tcl_Interp *, int , char **);
                    162: extern int             Tcl_SourceCmd(ClientData , Tcl_Interp *, int , char **);
                    163: extern int             Tcl_StringCmd(ClientData , Tcl_Interp *, int , char **);
                    164: extern int             Tcl_TimeCmd(ClientData , Tcl_Interp *, int , char **);
                    165: extern int             Tcl_UplevelCmd(ClientData , Tcl_Interp *, int , char **);
                    166: 
                    167: /*
                    168:  * Miscellaneous declarations (to allow Tcl to be used stand-alone,
                    169:  * without the rest of Sprite).
                    170:  */
                    171: 
                    172: #ifndef NULL
                    173: #define NULL 0
                    174: #endif
                    175: 
                    176: #endif _TCL

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.