? doc/scrap ? tools/man2tcl ? unix/LOG ? unix/LOG.2 ? unix/linux-static ? unix/linux-static2 ? unix/linux-debug ? unix/linux-ix86 ? unix/buffer.tcl Index: ChangeLog =================================================================== RCS file: /cvsroot/tcl/tcl/ChangeLog,v retrieving revision 1.503 diff -u -r1.503 ChangeLog --- ChangeLog 2001/07/18 17:13:25 1.503 +++ ChangeLog 2001/07/20 00:09:29 @@ -1,3 +1,11 @@ +2001-07-19 Andreas Kupries + + * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and + Tcl_ReadRaw [#419929]. + + * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered + and Tcl_GetTopChannel [#419929]. + 2001-07-18 Andreas Kupries * generic/tclIO.c: Aftermath to [SF #427196]. Squash empty buffers Index: doc/CrtChannel.3 =================================================================== RCS file: /cvsroot/tcl/tcl/doc/CrtChannel.3,v retrieving revision 1.9 diff -u -r1.9 CrtChannel.3 --- doc/CrtChannel.3 2001/03/30 23:06:39 1.9 +++ doc/CrtChannel.3 2001/07/20 00:09:29 @@ -11,7 +11,7 @@ .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 \fR @@ -67,6 +67,12 @@ .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 @@ -251,6 +257,16 @@ .PP \fBTcl_BadChannelOption\fR is called from driver specific set or get option 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 Index: doc/OpenFileChnl.3 =================================================================== RCS file: /cvsroot/tcl/tcl/doc/OpenFileChnl.3,v retrieving revision 1.9 diff -u -r1.9 OpenFileChnl.3 --- doc/OpenFileChnl.3 2000/04/25 00:54:53 1.9 +++ doc/OpenFileChnl.3 2001/07/20 00:09:29 @@ -10,7 +10,7 @@ .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_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_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 \fR @@ -73,8 +73,16 @@ 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) .sp int @@ -420,6 +428,15 @@ \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. Because of this 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 channel below into the +transformation. .SH "TCL_GETSOBJ AND TCL_GETS" .PP @@ -504,6 +521,15 @@ \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. Because of this 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 to the channel +below. .VE .SH TCL_FLUSH