summaryrefslogtreecommitdiffstats
path: root/doc/CrtChannel.3
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2005-10-05 20:36:16 (GMT)
committerandreas_kupries <akupries@shaw.ca>2005-10-05 20:36:16 (GMT)
commit5538a8f05d419a3daff75d9dd5fa460fae5dad75 (patch)
tree4edb90edb1582f61625e8789fdb69bcdcc5f2a25 /doc/CrtChannel.3
parent027bfe90bd8514277694ee60ffd59a6b0db0a6f9 (diff)
downloadtcl-5538a8f05d419a3daff75d9dd5fa460fae5dad75.zip
tcl-5538a8f05d419a3daff75d9dd5fa460fae5dad75.tar.gz
tcl-5538a8f05d419a3daff75d9dd5fa460fae5dad75.tar.bz2
* doc/CrtChannel.3: Fixed [SF Tcl Bug 1104682], by application of
David Welton's patch for it, and added a note about wideSeekProc.
Diffstat (limited to 'doc/CrtChannel.3')
-rw-r--r--doc/CrtChannel.320
1 files changed, 11 insertions, 9 deletions
diff --git a/doc/CrtChannel.3 b/doc/CrtChannel.3
index f4751b5..f4ff280 100644
--- a/doc/CrtChannel.3
+++ b/doc/CrtChannel.3
@@ -5,7 +5,7 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
-'\" RCS: @(#) $Id: CrtChannel.3,v 1.31 2005/06/07 20:37:40 dkf Exp $
+'\" RCS: @(#) $Id: CrtChannel.3,v 1.32 2005/10/05 20:36:16 andreas_kupries Exp $
.so man.macros
.TH Tcl_CreateChannel 3 8.4 Tcl "Tcl Library Procedures"
.BS
@@ -334,20 +334,22 @@ typedef struct Tcl_ChannelType {
Tcl_DriverFlushProc *\fIflushProc\fR;
Tcl_DriverHandlerProc *\fIhandlerProc\fR;
Tcl_DriverWideSeekProc *\fIwideSeekProc\fR;
-.VS 8.5
Tcl_DriverThreadActionProc *\fIthreadActionProc\fR;
+.VS 8.5
Tcl_DriverTruncateProc *\fItruncateProc\fR;
.VE 8.5
} Tcl_ChannelType;
.CE
.PP
-The driver must provide implementations for all functions except
-\fIblockModeProc\fR, \fIseekProc\fR, \fIsetOptionProc\fR,
-\fIgetOptionProc\fR, and \fIclose2Proc\fR, which may be specified as
-NULL. Other functions that can not be implemented for this type of
-device should return \fBEINVAL\fR when invoked to indicate that they
-are not implemented, except in the case of \fIflushProc\fR and
-\fIhandlerProc\fR, which should specified as NULL if not otherwise defined.
+It is not necessary to provide implementations for all channel
+operations. Those which are not necessary may be set to NULL in the
+struct: \fIblockModeProc\fR, \fIseekProc\fR, \fIsetOptionProc\fR,
+\fIgetOptionProc\fR, and \fIclose2Proc\fR, in addition to
+\fIflushProc\fR, \fIhandlerProc\fR, \fIthreadActionProc\fR, and
+\fItruncateProc\fR. Other functions that cannot be implemented in a
+meaningful way should return \fBEINVAL\fR when called, to indicate
+that the operations they represent are not available. Also note that
+\fIwideSeekProc\fR can be NULL if \fIseekProc\fR is.
.PP
The user should only use the above structure for \fBTcl_ChannelType\fR
instantiation. When referencing fields in a \fBTcl_ChannelType\fR