/usr/include/tclx8.4/tclExtend.h is in tclx8.4-dev 8.4.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | /*
* tclExtend.h
*
* External declarations for the extended Tcl library.
*-----------------------------------------------------------------------------
* Copyright 1991-1999 Karl Lehenbauer and Mark Diekhans.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies. Karl Lehenbauer and
* Mark Diekhans make no representations about the suitability of this
* software for any purpose. It is provided "as is" without express or
* implied warranty.
*-----------------------------------------------------------------------------
* $Id: tclExtend.h,v 1.5 2002/09/26 00:23:29 hobbs Exp $
*-----------------------------------------------------------------------------
*/
#ifndef TCLEXTEND_H
#define TCLEXTEND_H
#include <stdio.h>
#include "tcl.h"
/*
* The following is needed on Windows to deal with export/import of DLL
* functions. See tcl???/win/README.
*/
#if defined(BUILD_tclx) || defined(BUILD_TCLX)
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLEXPORT
#endif
#ifndef CONST84
# define CONST84
#endif
/*
* The TCLX_DEBUG flag turns on asserts etc. Its an internal flag, however
* its normally true for alpha and beta release and false for final releases,
* so we put the flag right by the version numbers in hopes that we will
* remember to change it.
#define TCLX_DEBUG
*/
#define TCLX_PATCHLEVEL 0
/*
* Generic void pointer.
*/
typedef void *void_pt;
/*
* Flags to command loop functions.
*/
#define TCLX_CMDL_INTERACTIVE (1<<0)
#define TCLX_CMDL_EXIT_ON_EOF (1<<1)
/*
* Application signal error handler. Called after normal signal processing,
* when a signal results in an error. Its main purpose in life is to allow
* interactive command loops to clear their input buffer on SIGINT. This is
* not currently a generic interface, but should be. Only one maybe active.
* This is an undocumented interface. Its in the external file in case
* someone needs this facility. It might change in the future. Let us
* know if you need this functionality.
*/
typedef int
(*TclX_AppSignalErrorHandler) _ANSI_ARGS_((Tcl_Interp *interp,
ClientData clientData,
int background,
int signalNum));
/*
* Exported TclX initialization functions.
*/
EXTERN int Tclx_Init _ANSI_ARGS_((Tcl_Interp *interp));
EXTERN int Tclx_SafeInit _ANSI_ARGS_((Tcl_Interp *interp));
EXTERN int Tclx_InitStandAlone _ANSI_ARGS_((Tcl_Interp *interp));
EXTERN void TclX_PrintResult _ANSI_ARGS_((Tcl_Interp *interp,
int intResult,
char *checkCmd));
EXTERN void TclX_SetupSigInt _ANSI_ARGS_((void));
EXTERN void TclX_SetAppSignalErrorHandler _ANSI_ARGS_((
TclX_AppSignalErrorHandler errorFunc, ClientData clientData));
EXTERN void TclX_SetAppInfo _ANSI_ARGS_((int defaultValues,
char *appName,
char *appLongName,
char *appVersion,
int appPatchlevel));
EXTERN void TclX_SplitWinCmdLine _ANSI_ARGS_((int *argcPtr,
char ***argvPtr));
/*
* Exported utility functions.
*/
EXTERN void TclX_AppendObjResult _ANSI_ARGS_(TCL_VARARGS_DEF(Tcl_Interp *, interpArg));
EXTERN char * TclX_DownShift _ANSI_ARGS_((char *targetStr, CONST char *sourceStr));
EXTERN int TclX_StrToInt _ANSI_ARGS_((CONST char *string, int base, int *intPtr));
EXTERN int TclX_StrToUnsigned _ANSI_ARGS_((CONST char *string,
int base,
unsigned *unsignedPtr));
EXTERN char * TclX_UpShift _ANSI_ARGS_((char *targetStr,
CONST char *sourceStr));
/*
* Exported keyed list object manipulation functions.
*/
EXTERN Tcl_Obj * TclX_NewKeyedListObj _ANSI_ARGS_((void));
EXTERN int TclX_KeyedListGet _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *keylPtr,
char *key,
Tcl_Obj **valuePtrPtr));
EXTERN int TclX_KeyedListSet _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *keylPtr,
char *key,
Tcl_Obj *valuePtr));
EXTERN int TclX_KeyedListDelete _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *keylPtr,
char *key));
EXTERN int TclX_KeyedListGetKeys _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *keylPtr,
char *key,
Tcl_Obj **listObjPtrPtr));
/*
* Exported handle table manipulation functions.
*/
EXTERN void_pt TclX_HandleAlloc _ANSI_ARGS_((void_pt headerPtr,
char *handlePtr));
EXTERN void TclX_HandleFree _ANSI_ARGS_((void_pt headerPtr,
void_pt entryPtr));
EXTERN void_pt TclX_HandleTblInit _ANSI_ARGS_((CONST char *handleBase,
int entrySize,
int initEntries));
EXTERN void TclX_HandleTblRelease _ANSI_ARGS_((void_pt headerPtr));
EXTERN int TclX_HandleTblUseCount _ANSI_ARGS_((void_pt headerPtr,
int amount));
EXTERN void_pt TclX_HandleWalk _ANSI_ARGS_((void_pt headerPtr,
int *walkKeyPtr));
EXTERN void TclX_WalkKeyToHandle _ANSI_ARGS_((void_pt headerPtr,
int walkKey,
char *handlePtr));
EXTERN void_pt TclX_HandleXlate _ANSI_ARGS_((Tcl_Interp *interp,
void_pt headerPtr,
CONST char *handle));
EXTERN void_pt TclX_HandleXlateObj _ANSI_ARGS_((Tcl_Interp *interp,
void_pt headerPtr,
Tcl_Obj *handleObj));
/*
* Command loop functions.
*/
EXTERN int TclX_CommandLoop _ANSI_ARGS_((Tcl_Interp *interp,
int options,
char *endCommand,
char *prompt1,
char *prompt2));
EXTERN int TclX_AsyncCommandLoop _ANSI_ARGS_((Tcl_Interp *interp,
int options,
char *endCommand,
char *prompt1,
char *prompt2));
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
#endif
|