/usr/include/tclx8.4/tclExtend.h is in tclx8.4-dev 8.4.1-2.
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
 |