summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsuresh <suresh>1998-06-04 13:11:48 (GMT)
committersuresh <suresh>1998-06-04 13:11:48 (GMT)
commit33f21833b3238faf41d98dab026da9b7667f365d (patch)
treedc247484c37da64e190e669f3cdd6d9a7438c609
parentc160774b9eaf9816c4f5c2f52be4a9ba26d740b3 (diff)
downloadtcl-33f21833b3238faf41d98dab026da9b7667f365d.zip
tcl-33f21833b3238faf41d98dab026da9b7667f365d.tar.gz
tcl-33f21833b3238faf41d98dab026da9b7667f365d.tar.bz2
Added function prototypes for 'TclAccess', 'TclStat', 'TclAccessInsertProc',
'TclAccessDeleteProc', 'TclStatInsertProc', 'TclStatDeleteProc', 'TclOpenFileChannelInsertProc', 'TclOpenFileChannelDeleteProc'. Also included are appropriate data structures for declaring the respective functions: 'TclAccessProc_', 'TclStatProc_', & 'TclOpenFileChannelProc_'.
-rw-r--r--generic/tclInt.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 437e2b5..83fd3d9 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -1183,6 +1183,20 @@ typedef struct TclFile_ *TclFile;
/*
*----------------------------------------------------------------
+ * Data structures related to hooking 'TclStat(...)' and
+ * 'TclAccess(...)'.
+ *----------------------------------------------------------------
+ */
+
+typedef struct stat TclStat_;
+typedef int (TclStatProc_) _ANSI_ARGS_((CONST char *path, TclStat_ *buf));
+typedef int (TclAccessProc_) _ANSI_ARGS_((CONST char *path, int mode));
+typedef Tcl_Channel (TclOpenFileChannelProc_) _ANSI_ARGS_((Tcl_Interp *interp,
+ char *fileName, char *modeString,
+ int permissions));
+
+/*
+ *----------------------------------------------------------------
* Variables shared among Tcl modules but not used by the outside world.
*----------------------------------------------------------------
*/
@@ -1235,6 +1249,10 @@ extern char * tclEmptyStringRep;
*/
EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
+EXTERN int TclAccess _ANSI_ARGS_((CONST char *path,
+ int mode));
+EXTERN int TclAccessDeleteProc _ANSI_ARGS_((TclAccessProc_ *proc));
+EXTERN int TclAccessInsertProc _ANSI_ARGS_((TclAccessProc_ *proc));
EXTERN void TclAllocateFreeObjects _ANSI_ARGS_((void));
EXTERN int TclChdir _ANSI_ARGS_((Tcl_Interp *interp,
char *dirName));
@@ -1382,6 +1400,10 @@ EXTERN int TclObjInvoke _ANSI_ARGS_((Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[], int flags));
EXTERN int TclObjInvokeGlobal _ANSI_ARGS_((Tcl_Interp *interp,
int objc, Tcl_Obj *CONST objv[], int flags));
+EXTERN int TclOpenFileChannelDeleteProc _ANSI_ARGS_((
+ TclOpenFileChannelProc_ *proc));
+EXTERN int TclOpenFileChannelInsertProc _ANSI_ARGS_((
+ TclOpenFileChannelProc_ *proc));
EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size));
/*
@@ -1422,6 +1444,9 @@ EXTERN int TclpListVolumes _ANSI_ARGS_((Tcl_Interp *interp));
EXTERN TclFile TclpMakeFile _ANSI_ARGS_((Tcl_Channel channel,
int direction));
EXTERN TclFile TclpOpenFile _ANSI_ARGS_((char *fname, int mode));
+EXTERN Tcl_Channel TclpOpenFileChannel _ANSI_ARGS_((Tcl_Interp *interp,
+ char *fileName, char *modeString,
+ int permissions));
EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr,
unsigned int size));
EXTERN int TclpRemoveDirectory _ANSI_ARGS_((char *path,
@@ -1473,6 +1498,10 @@ EXTERN int TclSockGetPort _ANSI_ARGS_((Tcl_Interp *interp,
char *string, char *proto, int *portPtr));
EXTERN int TclSockMinimumBuffers _ANSI_ARGS_((int sock,
int size));
+EXTERN int TclStat _ANSI_ARGS_((CONST char *path,
+ TclStat_ *buf));
+EXTERN int TclStatDeleteProc _ANSI_ARGS_((TclStatProc_ *proc));
+EXTERN int TclStatInsertProc _ANSI_ARGS_((TclStatProc_ *proc));
EXTERN void TclTeardownNamespace _ANSI_ARGS_((Namespace *nsPtr));
EXTERN int TclTestChannelCmd _ANSI_ARGS_((ClientData clientData,
Tcl_Interp *interp, int argc, char **argv));