This file is indexed.

/usr/include/tclx8.4/tclExtend.h is in tclx8.4-dev 8.4.0-3.

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