summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2001-09-11 18:29:56 (GMT)
committerandreas_kupries <akupries@shaw.ca>2001-09-11 18:29:56 (GMT)
commit0b10bda28793e8135e0886e81f4e8f41446ea595 (patch)
treed4b831d4edc9b6d2a0b418217743ff7a0254dd5f
parentee5192e7df744668001d9976560faa2de885e014 (diff)
downloadtcl-0b10bda28793e8135e0886e81f4e8f41446ea595.zip
tcl-0b10bda28793e8135e0886e81f4e8f41446ea595.tar.gz
tcl-0b10bda28793e8135e0886e81f4e8f41446ea595.tar.bz2
* doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and
Tcl_ReadRaw [#414929]. * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered and Tcl_GetTopChannel [#414929].
-rw-r--r--ChangeLog6
-rw-r--r--doc/CrtChannel.320
-rw-r--r--doc/OpenFileChnl.329
-rw-r--r--unix/mkLinks8
4 files changed, 59 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 919e21c..e572dde 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2001-09-11 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+ * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and
+ Tcl_ReadRaw [#414929].
+
+ * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered
+ and Tcl_GetTopChannel [#414929].
+
* The changes below are a fix for [219253].
* tests/socket.test: Removed _most_ instances of hardwired port
diff --git a/doc/CrtChannel.3 b/doc/CrtChannel.3
index f9e79be..5178f93 100644
--- a/doc/CrtChannel.3
+++ b/doc/CrtChannel.3
@@ -5,13 +5,13 @@
'\" 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.10 2001/09/10 21:49:37 andreas_kupries Exp $
+'\" RCS: @(#) $Id: CrtChannel.3,v 1.11 2001/09/11 18:29:56 andreas_kupries Exp $
.so man.macros
.TH Tcl_CreateChannel 3 8.3 Tcl "Tcl Library Procedures"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
-Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType, Tcl_GetChannelName, Tcl_GetChannelHandle, Tcl_GetChannelMode, Tcl_GetChannelBufferSize, Tcl_SetChannelBufferSize, Tcl_NotifyChannel, Tcl_BadChannelOption, Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, Tcl_ChannelHandlerProc, Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting, Tcl_ClearChannelHandlers, Tcl_GetChannelThread \- procedures for creating and manipulating channels
+Tcl_CreateChannel, Tcl_GetChannelInstanceData, Tcl_GetChannelType, Tcl_GetChannelName, Tcl_GetChannelHandle, Tcl_GetChannelMode, Tcl_GetChannelBufferSize, Tcl_SetChannelBufferSize, Tcl_NotifyChannel, Tcl_BadChannelOption, Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, Tcl_ChannelHandlerProc, Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, Tcl_IsChannelExisting, Tcl_ClearChannelHandlers, Tcl_GetChannelThread, Tcl_ChannelBuffered, Tcl_GetTopChannel \- procedures for creating and manipulating channels
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -67,6 +67,12 @@ void
.VE
.VS 8.3.2
.sp
+int
+\fBTcl_ChannelBuffered\fR(\fIchannel\fR)
+.sp
+Tcl_Channel
+\fBTcl_GetTopChannel\fR(\fIchannel\fR)
+.sp
char *
\fBTcl_ChannelName\fR(\fItypePtr\fR)
.sp
@@ -262,6 +268,16 @@ channel. See \fBWATCHPROC\fR below for more details.
procs to generate a complete error message.
.VE
.PP
+.VS 8.3.2
+\fBTcl_GetTopChannel\fR returns the top channel in the stack of
+channels the supplied channel is part of.
+.PP
+\fBTcl_ChannelBuffered\fR returns the number of bytes of input
+currently buffered in the internal buffer (push back area) of the
+channel itself. It does not report about the data in the overall
+buffers for the stack of channels the supplied channel is part of.
+.VE
+.PP
.VS 8.4
\fBTcl_IsChannelShared\fR checks the refcount of the specified
\fIchannel\fR and returns whether the \fIchannel\fR was shared among
diff --git a/doc/OpenFileChnl.3 b/doc/OpenFileChnl.3
index 9237fb2..a0eec70 100644
--- a/doc/OpenFileChnl.3
+++ b/doc/OpenFileChnl.3
@@ -4,13 +4,13 @@
'\" See the file "license.terms" for information on usage and redistribution
'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
'\"
-'\" RCS: @(#) $Id: OpenFileChnl.3,v 1.11 2001/09/10 21:49:37 andreas_kupries Exp $
+'\" RCS: @(#) $Id: OpenFileChnl.3,v 1.12 2001/09/11 18:29:56 andreas_kupries Exp $
.so man.macros
.TH Tcl_OpenFileChannel 3 8.3 Tcl "Tcl Library Procedures"
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
-Tcl_OpenFileChannel, Tcl_OpenCommandChannel, Tcl_MakeFileChannel, Tcl_GetChannel, Tcl_GetChannelNames, Tcl_GetChannelNamesEx, Tcl_RegisterChannel, Tcl_UnregisterChannel, Tcl_DetachChannel, Tcl_IsStandardChannel, Tcl_Close, Tcl_ReadChars, Tcl_Read, Tcl_GetsObj, Tcl_Gets, Tcl_WriteObj, Tcl_WriteChars, Tcl_Write, Tcl_Flush, Tcl_Seek, Tcl_Tell, Tcl_GetChannelOption, Tcl_SetChannelOption, Tcl_Eof, Tcl_InputBlocked, Tcl_InputBuffered, Tcl_Ungets \- buffered I/O facilities using channels
+Tcl_OpenFileChannel, Tcl_OpenCommandChannel, Tcl_MakeFileChannel, Tcl_GetChannel, Tcl_GetChannelNames, Tcl_GetChannelNamesEx, Tcl_RegisterChannel, Tcl_UnregisterChannel, Tcl_DetachChannel, Tcl_IsStandardChannel, Tcl_Close, Tcl_ReadChars, Tcl_Read, Tcl_GetsObj, Tcl_Gets, Tcl_WriteObj, Tcl_WriteChars, Tcl_Write, Tcl_Flush, Tcl_Seek, Tcl_Tell, Tcl_GetChannelOption, Tcl_SetChannelOption, Tcl_Eof, Tcl_InputBlocked, Tcl_InputBuffered, Tcl_Ungets, Tcl_ReadRaw, Tcl_WriteRaw \- buffered I/O facilities using channels
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -79,6 +79,14 @@ int
int
\fBTcl_Write\fR(\fIchannel, byteBuf, bytesToWrite\fR)
.VE
+.VS 8.3.2
+.sp
+int
+\fBTcl_ReadRaw\fR(\fIchannel, bufPtr, bytesToRead\fR)
+.sp
+int
+\fBTcl_WriteRaw\fR(\fIchannel, bufPtr, bytesToWrite\fR)
+.VE
.sp
int
\fBTcl_Eof\fR(\fIchannel\fR)
@@ -463,6 +471,14 @@ of \fBTcl_Read\fR is the number of bytes, up to \fItoRead\fR, written in
\fIbuf\fR. The buffer produced by \fBTcl_Read\fR is not NULL terminated.
Its contents are valid from the zeroth position up to and excluding the
position indicated by the return value.
+.PP
+\fBTcl_ReadRaw\fR is the same as \fBTcl_Read\fR but does not
+compensate for stacking. While \fBTcl_Read\fR (and the other functions
+in the API) always get their data from the topmost channel in the
+stack the supplied channel is part of, \fBTcl_ReadRaw\fR does
+not. Thus this function is \fBonly\fR usable for transformational
+channel drivers, i.e. drivers used in the middle of a stack of
+channels, to move data from the channel below into the transformation.
.SH "TCL_GETSOBJ AND TCL_GETS"
.PP
@@ -547,6 +563,15 @@ Tcl extensions. It accepts \fIbytesToWrite\fR bytes of data at
\fIbyteBuf\fR and queues them for output to \fIchannel\fR. If
\fIbytesToWrite\fR is negative, \fBTcl_Write\fR expects \fIbyteBuf\fR to be
NULL terminated and it outputs everything up to the NULL.
+.PP
+\fBTcl_WriteRaw\fR is the same as \fBTcl_Write\fR but does not
+compensate for stacking. While \fBTcl_Write\fR (and the other
+functions in the API) always feed their input to the topmost channel
+in the stack the supplied channel is part of, \fBTcl_WriteRaw\fR does
+not. Thus this function is \fBonly\fR usable for transformational
+channel drivers, i.e. drivers used in the middle of a stack of
+channels, to move data from the transformation into the channel below
+it.
.VE
.SH TCL_FLUSH
diff --git a/unix/mkLinks b/unix/mkLinks
index 68fdad4..876254d 100644
--- a/unix/mkLinks
+++ b/unix/mkLinks
@@ -170,6 +170,8 @@ if test -r CrtChannel.3; then
rm -f Tcl_IsChannelExisting.3
rm -f Tcl_ClearChannelHandlers.3
rm -f Tcl_GetChannelThread.3
+ rm -f Tcl_ChannelBuffered.3
+ rm -f Tcl_GetTopChannel.3
ln CrtChannel.3 Tcl_CreateChannel.3
ln CrtChannel.3 Tcl_GetChannelInstanceData.3
ln CrtChannel.3 Tcl_GetChannelType.3
@@ -201,6 +203,8 @@ if test -r CrtChannel.3; then
ln CrtChannel.3 Tcl_IsChannelExisting.3
ln CrtChannel.3 Tcl_ClearChannelHandlers.3
ln CrtChannel.3 Tcl_GetChannelThread.3
+ ln CrtChannel.3 Tcl_ChannelBuffered.3
+ ln CrtChannel.3 Tcl_GetTopChannel.3
fi
if test -r CrtChnlHdlr.3; then
rm -f Tcl_CreateChannelHandler.3
@@ -746,6 +750,8 @@ if test -r OpenFileChnl.3; then
rm -f Tcl_InputBlocked.3
rm -f Tcl_InputBuffered.3
rm -f Tcl_Ungets.3
+ rm -f Tcl_ReadRaw.3
+ rm -f Tcl_WriteRaw.3
ln OpenFileChnl.3 Tcl_OpenFileChannel.3
ln OpenFileChnl.3 Tcl_OpenCommandChannel.3
ln OpenFileChnl.3 Tcl_MakeFileChannel.3
@@ -773,6 +779,8 @@ if test -r OpenFileChnl.3; then
ln OpenFileChnl.3 Tcl_InputBlocked.3
ln OpenFileChnl.3 Tcl_InputBuffered.3
ln OpenFileChnl.3 Tcl_Ungets.3
+ ln OpenFileChnl.3 Tcl_ReadRaw.3
+ ln OpenFileChnl.3 Tcl_WriteRaw.3
fi
if test -r OpenTcp.3; then
rm -f Tcl_OpenTcpClient.3