diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-01-29 21:55:10 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-01-29 21:55:10 +0000 |
commit | 3039a93d20f525d68a979d28a46c6bc76a0d463e (patch) | |
tree | 92aacd93629531bc06808764ebadc2655b02a5dd /pod/perliol.pod | |
parent | d5ed24328bb9459af92b6545aa51dd9d971234f0 (diff) | |
download | perl-3039a93d20f525d68a979d28a46c6bc76a0d463e.tar.gz |
PerlIO doc tweaks from Craig A. Berry <craig.berry@psinetcs.com>
p4raw-id: //depot/perlio@8590
Diffstat (limited to 'pod/perliol.pod')
-rw-r--r-- | pod/perliol.pod | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/pod/perliol.pod b/pod/perliol.pod index 6169d43949..34a5fb2b4d 100644 --- a/pod/perliol.pod +++ b/pod/perliol.pod @@ -11,14 +11,14 @@ perliol - C API for Perl's implementation of IO in Layers. =head1 DESCRIPTION -This document describes the behavior and implementation of the PerlIO abstraction +This document describes the behaviour and implementation of the PerlIO abstraction described in L<perlapio> when C<USE_PERLIO> is defined (and C<USE_SFIO> is not). =head2 History and Background The PerlIO abstraction was introduced in perl5.003_02 but languished as just -an abstraction until perl5.7.0. However during that time a number of perl extenstions -switch to using it, so the API is mostly fixed to maintain (source) compatibility. +an abstraction until perl5.7.0. However during that time a number of perl extensions +switched to using it, so the API is mostly fixed to maintain (source) compatibility. The aim of the implementation is to provide the PerlIO API in a flexible and platform neutral manner. It is also a trial of an "Object Oriented C, with vtables" @@ -30,7 +30,7 @@ Initial discussion of the ability to modify IO streams behaviour used the term "discipline" for the entities which were added. This came (I believe) from the use of the term in "sfio", which in turn borowed it from "line disciplines" on Unix terminals. However, this document (and the C code) uses the term "layer". -This is I hope a natural term given the implementation, and should avoid conotations +This is I hope a natural term given the implementation, and should avoid connotations that are inherent in earlier uses of "discipline" for things which are rather different. =head2 Data Structures @@ -165,7 +165,7 @@ as a pointer to a PerlIOl. The above attempts to show how the layer scheme works in a simple case. -The applications PerlIO * points to an entry in the table(s) representing open +The application's PerlIO * points to an entry in the table(s) representing open (allocated) handles. For example the first three slots in the table correspond to C<stdin>,C<stdout> and C<stderr>. The table in turn points to the current "top" layer for the handle - in this case an instance of the generic buffering @@ -220,15 +220,15 @@ End of file. =item PERLIO_F_CANWRITE -Writes are permited i.e. opened as "w" or "r+" or "a". etc. +Writes are permitted, i.e. opened as "w" or "r+" or "a", etc. =item PERLIO_F_CANREAD -Reads are permited i.e. opened "r" or "w+" (or even "a+" - ick). +Reads are permitted i.e. opened "r" or "w+" (or even "a+" - ick). =item PERLIO_F_ERROR -An error has occured (for PerlIO_error()) +An error has occurred (for PerlIO_error()) =item PERLIO_F_TRUNCATE @@ -247,7 +247,7 @@ if the PERLIO_K_CANCRLF bit is set for the layers class. =item PERLIO_F_UTF8 -Data for this written to this layer should be UTF-8 encoded, data provided +Data written to this layer should be UTF-8 encoded; data provided by this layer should be considered UTF-8 encoded. Can be set on any layer by ":utf8" dummy layer. Also set on ":encoding" layer. @@ -283,11 +283,11 @@ Handle is open. This instance of this layer supports the "fast gets" interface. Normally set based on PERLIO_K_FASTGETS for the class and by the -existance of the function(s) in the table. However a class that +existence of the function(s) in the table. However a class that normally provides that interface may need to avoid it on a particular instance. The "pending" layer needs to do this when -it is pushed above an layer which does not support the interface. -(Perls sv_gets() does not expect the steams fast gets behaviour +it is pushed above a layer which does not support the interface. +(Perls sv_gets() does not expect the stream's fast gets behaviour to change during one "get".) =back @@ -322,7 +322,7 @@ Perl does not use this and L<perlapio> marks it as subject to change. Called when the layer is pushed onto the stack. The C<mode> argument may be NULL if this occurs post-open. The C<arg> and C<len> will be present if an argument string was -passed. In most cases this should call PerlIOBase_pushed() to conver C<mode> into +passed. In most cases this should call PerlIOBase_pushed() to convert C<mode> into the appropriate PERLIO_F_XXXXX flags in addition to any actions the layer itself takes. =item IV (*Popped)(PerlIO *f); @@ -369,7 +369,7 @@ tables, ...) not held directly in the data structure. Should make streams state consistent with layers below. That is any buffered write data should be written, and file position of lower layer -adjusted for data read fron below but not actually consumed. +adjusted for data read from below but not actually consumed. =item IV (*Fill)(PerlIO *f); @@ -403,7 +403,7 @@ Return the number of bytes that last Fill() put in the buffer. =item STDCHAR * (*Get_ptr)(PerlIO *f); -Return the current read pointer relative to this layers buffer. +Return the current read pointer relative to this layer's buffer. =item SSize_t (*Get_cnt)(PerlIO *f); |