stas        2004/01/12 18:51:49

  Modified:    src/docs/2.0/api config.cfg APR.pod
               src/docs/2.0/api/APR Const.pod PerlIO.pod Table.pod
  Added:       src/docs/2.0/api/APR Base64.pod Brigade.pod Bucket.pod
                        Date.pod Finfo.pod NetLib.pod Pool.pod SockAddr.pod
                        Socket.pod ThreadMutex.pod URI.pod Util.pod
  Log:
  first batch of the manpages autogeneration and cleanup to a consistent
  lookup and feel
  
  Revision  Changes    Path
  1.28      +12 -0     modperl-docs/src/docs/2.0/api/config.cfg
  
  Index: config.cfg
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/config.cfg,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -u -r1.27 -r1.28
  --- config.cfg        8 Aug 2003 20:59:45 -0000       1.27
  +++ config.cfg        13 Jan 2004 02:51:49 -0000      1.28
  @@ -35,9 +35,21 @@
       group    => 'APR:: Core API',
       chapters => [qw(
           APR.pod
  +        APR/Base64.pod
  +        APR/Brigade.pod
  +        APR/Bucket.pod
           APR/Const.pod
  +        APR/Date.pod
  +        APR/Finfo.pod
  +        APR/NetLib.pod
           APR/PerlIO.pod
  +        APR/Pool.pod
  +        APR/SockAddr.pod
  +        APR/Socket.pod
           APR/Table.pod
  +        APR/ThreadMutex.pod
  +        APR/URI.pod
  +        APR/Util.pod
       )],
   
       group    => 'ModPerl::',
  
  
  
  1.3       +24 -0     modperl-docs/src/docs/2.0/api/APR.pod
  
  Index: APR.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- APR.pod   28 Jul 2003 17:37:24 -0000      1.2
  +++ APR.pod   13 Jan 2004 02:51:49 -0000      1.3
  @@ -8,11 +8,35 @@
   
   =head1 Description
   
  +Notes on how to use APR outside mod_perl 2.0.
  +
   Normally you don't need to use this module. However if you are using
   an C<APR::> package outside of mod_perl, you need to load APR
   first. For example:
   
     % perl -MApache2 -MAPR -MAPR::UUID -le 'print APR::UUID->new->format'
  +
  +
  +
  +=head1 See Also
  +
  +L<mod_perl 2.0 documentation|docs::2.0::index>.
  +
  +
  +
  +
  +=head1 Copyright
  +
  +mod_perl 2.0 and its core modules are copyrighted under
  +The Apache Software License, Version 1.1.
  +
  +
  +
  +
  +=head1 Authors
  +
  +L<The mod_perl development team and numerous
  +contributors|about::contributors::people>.
   
   
   =cut
  
  
  
  1.6       +22 -2     modperl-docs/src/docs/2.0/api/APR/Const.pod
  
  Index: Const.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR/Const.pod,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -u -r1.5 -r1.6
  --- Const.pod 2 Dec 2003 17:44:44 -0000       1.5
  +++ Const.pod 13 Jan 2004 02:51:49 -0000      1.6
  @@ -2,9 +2,9 @@
   
   APR::Const - Perl Interface for APR Constants
   
  -=head1 SYNOPSIS
  +=head1 Synopsis
   
  -=head1 CONSTANTS
  +=head1 Constants
   
   
   
  @@ -691,5 +691,25 @@
   
   =head3 C<APR::URI_WAIS_DEFAULT_PORT>
   
  +
  +=head1 See Also
  +
  +L<mod_perl 2.0 documentation|docs::2.0::index>.
  +
  +
  +
  +
  +=head1 Copyright
  +
  +mod_perl 2.0 and its core modules are copyrighted under
  +The Apache Software License, Version 1.1.
  +
  +
  +
  +
  +=head1 Authors
  +
  +L<The mod_perl development team and numerous
  +contributors|about::contributors::people>.
   
   =cut
  
  
  
  1.5       +72 -17    modperl-docs/src/docs/2.0/api/APR/PerlIO.pod
  
  Index: PerlIO.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR/PerlIO.pod,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -u -r1.4 -r1.5
  --- PerlIO.pod        21 Aug 2003 00:19:04 -0000      1.4
  +++ PerlIO.pod        13 Jan 2004 02:51:49 -0000      1.5
  @@ -1,8 +1,8 @@
   =head1 NAME
   
  -APR:PerlIO -- An APR Perl IO layer
  +APR::PerlIO -- An APR Perl IO layer
   
  -=head1 SYNOPSIS
  +=head1 Synopsis
   
     # under mod_perl
     use APR::PerlIO ();
  @@ -27,7 +27,7 @@
      close $fh;'
   
   
  -=head1 DESCRIPTION
  +=head1 Description
   
   C<APR::PerlIO> implements a Perl IO layer using APR's file
   manipulation as its internals.
  @@ -40,9 +40,15 @@
   mod_perl functions will return a filehandle which is internally hooked
   to APR. But you can use APR Perl IO directly if you want.
   
  +
  +
  +
  +
   =head1 Constants
   
  -=head2 PERLIO_LAYERS_ARE_ENABLED
  +
  +
  +=head2 APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED
   
   Before using the Perl IO APR layer one has to check whether it's
   supported by the used perl build.
  @@ -54,31 +60,57 @@
   aren't available since C<APR::PerlIO> provides functionality for Perl
   builds not supporting Perl IO layers.
   
  +
  +
  +
  +
  +
  +
   =head1 API
   
   Perl Interface:
   
  -=head2 open()
  +=head2 C<open>
   
  -To use APR Perl IO to open a file the four arguments open() should be
  -used. For example:
  +Open a file via APR Perl IO layer.
   
     open my $fh, ">:APR", $filename, $r->pool or die $!;
   
  -where:
  +=over 4
  +
  +=item arg1: C<$fh> (GLOB filehandle)
  +
  +The filehandle.
  +
  +=item arg2: C<$mode> (string)
  +
  +The mode to open the file, constructed from two sections separated by
  +the C<:> character: the first section is the mode to open the file
  +under (E<gt>, E<lt>, etc) and the second section must be a string
  +I<APR>. For more information refer to the I<open> entry in the
  +I<perlfunc> manpage.
  +
  +=item arg3: C<$filename> (string)
  +
  +The path to the filename to open
  +
  +=item arg4: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  +
  +The pool object to use to allocate APR::PerlIO layer.
  +
  +=item ret: success or failure
  +
  +=back
  +
  +
   
  -the second argument is the mode to open the file, constructed from two
  -sections separated by the C<:> character: the first section is the
  -mode to open the file under (E<gt>, E<lt>, etc) and the second section
  -must be a string I<APR>.
   
  -the fourth argument must be an C<APR::Pool> object.
   
  -the rest of the arguments are the same as described by the I<open()>
  -manpage.
   
   =head2 seek()
   
  +Sets C<$fh>'s position, just like the C<seek()> perl call:
  +
     seek($fh, $offset, $whence);
   
   If C<$offset> is zero, C<seek()> works normally.
  @@ -91,6 +123,9 @@
   To solve the problem, rebuild Perl with C<-Uuselargefiles>. Currently
   there is no way to force APR to build with large files support.
   
  +
  +
  +
   =head1 C API
   
   The C API provides functions to convert between Perl IO and APR Perl
  @@ -98,9 +133,29 @@
   
   META: document these
   
  -=head1 SEE ALSO
   
  -The I<perliol(1)>, I<perlapio(1)> and I<perl(1)> manpages.
  +
  +=head1 See Also
  +
  +L<mod_perl 2.0 documentation|docs::2.0::index>. The I<perliol(1)>,
  +I<perlapio(1)> and I<perl(1)> manpages.
  +
  +
  +
  +
  +=head1 Copyright
  +
  +mod_perl 2.0 and its core modules are copyrighted under
  +The Apache Software License, Version 1.1.
  +
  +
  +
  +
  +=head1 Authors
  +
  +L<The mod_perl development team and numerous
  +contributors|about::contributors::people>.
  +
   
   =cut
   
  
  
  
  1.6       +410 -117  modperl-docs/src/docs/2.0/api/APR/Table.pod
  
  Index: Table.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR/Table.pod,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -u -r1.5 -r1.6
  --- Table.pod 20 Aug 2003 14:00:41 -0000      1.5
  +++ Table.pod 13 Jan 2004 02:51:49 -0000      1.6
  @@ -1,10 +1,12 @@
   =head1 NAME
   
  -APR::Table -- A Perl API for manipulating opaque string-content table
  +APR::Table - Perl API for for manipulating opaque string-content table
   
  -=head1 SYNOPSIS
   
  -  use APR::Table;
  +
  +=head1 Synopsis
  +
  +  use APR::Table ();
     
     $table = make($pool, $nelts);
     $table_copy = $table->copy($pool);
  @@ -34,7 +36,11 @@
         print "$key = $table->{$key}\n";
     }
   
  -=head1 DESCRIPTION
  +
  +
  +
  +
  +=head1 Description
   
   C<APR::Table> allows its users to manipulate opaque string-content
   tables.
  @@ -56,227 +62,405 @@
   See I<apr/include/apr_tables.h> in ASF's I<apr> project for low level
   details.
   
  +
  +
  +
  +
   =head1 API
   
  -The variables used in the API definition have the following
  -I<"types">:
  +C<APR::Table> provides the following functions and/or methods:
  +
   
  -=over
   
  -=item * APR::Table
   
  -C<$table_*>
  +=head2 C<add>
  +
  +Add data to a table, regardless of whether there is another element
  +with the same key.
   
  -=item * APR::Pool
  +  $t->add($key, $val);
   
  -C<$pool>
  +=over 4
   
  -=item * scalars: unsigned integers only (SVIV) (as C expects them)
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -C<$nelts>, C<$flags>
  +The table to add to.
   
  -=item * scalars: (numerical (SVIV/SVNV) and strings (SVPV))
  +=item arg2: C<$key> (string)
   
  -C<$key>, C<$val>
  +The key to use.
  +
  +=item arg3: C<$val> (string)
  +
  +The value to add.
  +
  +=item ret: no return value
   
   =back
   
  -Function arguments (if any) and return values are shown in the
  -function's synopsis.
  +When adding data, this function makes a copy of both the key and the
  +value.
   
  -=over
   
  -=item * make()
   
  -  $table = make($pool, $nelts);
  +=head2 C<clear>
   
  -Make a new table.
  +Delete all of the elements from a table.
   
  -param C<$pool>: The pool to allocate the pool out of.
  +  $t->clear();
   
  -param C<$nelts>: The number of elements in the initial table.
  +=over 4
   
  -return: a new table.
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -warning: This table can only store text data
  +The table to clear.
   
  -=item * copy()
  +=item ret: no return value
   
  -  $table_copy = $table->copy($pool);
  +=back
   
  -Create a new table and copy another table into it
   
  -param C<$pool>: The pool to allocate the new table out of
   
  -param C<$table>: The table to copy
   
  -return: A copy of the table passed in
   
  -=item * clear()
  +=head2 C<compress>
   
  -  $table->clear();
  +Eliminate redundant entries in a table by either overwriting or
  +merging duplicates:
   
  -Delete all of the elements from a table.
  +  $t->compress($flags);
   
  -param C<$table>: A copy of the table passed in
  +=over 4
   
  -=item * set();
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -  $table->set($key => $val);
  +The table to compress.
   
  -Add a key/value pair to a table, if another element already exists
  -with the same key, this will over-write the old data.
  +=item arg2: C<$flags> (integer)
   
  -param C<$table>: The table to add the data to.
  +  APR::OVERLAP_TABLES_MERGE -- to merge
  +  APR::OVERLAP_TABLES_SET   -- to overwrite
   
  -param C<$key>: The key fo use.
  +=item ret: no return value
   
  -param C<$val>: The value to add.
  +=back
   
  -=item * add()
  +Converts multi-valued keys in C<$table> to single-valued keys.  This
  +function takes duplicate table entries and flattens them into a single
  +entry.  The flattening behavior is controlled by the (mandatory)
  +C<$flags> argument.
  +
  +When C<$flags> == C<APR::OVERLAP_TABLES_SET>, each key will be set to
  +the last value seen for that key.  For example, given key/value pairs
  +'foo =E<gt> bar' and 'foo =E<gt> baz', 'foo' would have a final value
  +of 'baz' after compression - the 'bar' value would be lost.
   
  -  $table->add($key, $val);
  +When C<$flags> == C<APR::OVERLAP_TABLES_MERGE>, multiple values for
  +the same key are flattened into a comma-separated list.  Given
  +key/value pairs 'foo =E<gt> bar' and 'foo =E<gt> baz', 'foo' would
  +have a final value of 'bar, baz' after compression.
   
  -Add data to a table, regardless of whether there is another element
  -with the same key.
   
  -param C<$table>: The table to add to
   
  -param C<$key>: The key to use
  +=head2 C<copy>
  +
  +Create a new table and copy another table into it.
  +
  +  $ret = $t->copy($p);
   
  -param C<$val>: The value to add.
  +=over 4
   
  -=item * do()
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The table to copy.
  +
  +=item arg2: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  +
  +The pool to allocate the new table out of.
  +
  +=item ret: C<$ret> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +A copy of the table passed in.
  +
  +=back
   
  -  $table->do(sub {[...]}, [EMAIL PROTECTED]);
  +
  +
  +
  +
  +=head2 C<do>
   
   Iterate over all the elements of the table, invoking provided
   subroutine for each element.  The subroutine gets passed as argument,
   a key-value pair.
   
  +  $table->do(sub {...}, @filter);
  +
  +=over 4
  +
  +=item arg1: C<$p> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The table to operate on.
  +
  +=item arg2: C<$sub> (CODE ref/string)
  +
  +A subroutine reference or name to be called on each item in the table.
   The subroutine can abort the iteration by returning 0 and should
   always return 1 otherwise.
   
  -param C<sub>: A subroutine reference or name to be called on each item
  -in the table
  +=item opt arg3: C<@filter> (ARRAY)
  +
  +If passed, only keys matching one of the entries in the C<@filter>
  +will be processed.
  +
  +=item ret: no return value
  +
  +=back
  +
  +
  +
  +
   
  -param C<@filter>: Only keys matching one of the entries in the filter
  -will be processed
  - 
   
   
  -=item * get()
  +=head2 C<get>
  +
  +Get the value(s) associated with a given key.  After this call, the
  +data is still in the table.
   
     $val = $table->get($key);
     @val = $table->get($key);
   
  -Get the value(s) associated with a given key.
  +=over 4
   
  -After this call, the data is still in the table.
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -param C<$table>: The table to search for the key
  +The table to search for the key.
   
  -param C<$key>: The key to search for
  +=item arg2: C<$key> (string)
   
  -return: In the scalar context the first matching value returned. (The
  -oldest in the table, if there is more than one value.) In the list
  -context the whole table is traversed and all matching values are
  -returned. If nothing matches I<undef> is returned.
  +The key to search for.
   
  -=item * unset();
  +=item ret: C<$val> or C<@val>
   
  -  $table->unset($key);
  +In the scalar context the first matching value returned. (The oldest
  +in the table, if there is more than one value.)
  +
  +In the list context the whole table is traversed and all matching
  +values are returned. If nothing matches C<undef> is returned.
   
  -Remove data from the table
  +=back
   
  -param C<$table>: The table to remove data from
   
  -param C<$key>: The key of the data being removed
   
   
  -=item * merge()
   
  -  $table->merge($key => $val);
  +
  +
  +
  +=head2 C<make>
  +
  +Make a new table.
  +
  +  $ret = make($p, $nelts);
  +
  +=over 4
  +
  +=item arg1: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  +
  +The pool to allocate the pool out of.
  +
  +=item arg2: C<$nelts> (integer)
  +
  +The number of elements in the initial table.
  +
  +=item ret: C<$ret> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The new table.
  +
  +=back
  +
  +Note: This table can only store text data.
  +
  +
  +
  +
  +
  +=head2 C<merge>
   
   Add data to a table by merging the value with data that has already
  -been stored
  +been stored:
   
  -param C<$table>: The table to search for the data
  +  $t->merge($key, $val);
   
  -param C<$key>: The key to merge data for
  +=over 4
   
  -param C<$val>: The data to add
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -remark: If the key is not found, then this function acts like add()
  +The table to search for the data.
   
  -=item * overlap()
  +=item arg2: C<$key> (string)
   
  -  overlap($table_a, $table_b, $flags);
  +The key to merge data for.
  +
  +=item arg3: C<$val> (string)
  +
  +The data to add.
  +
  +=item ret: no return value
  +
  +=back
  +
  +Note: if the key is not found, then this function acts like
  +C<L<add()|/C_add_>>.
  +
  +
  +
  +=head2 C<overlap>
  +
  +For each key/value pair in C<$t_b>, add the data to C<$t_a>. The
  +definition of C<$flags> explains how C<$flags> define the overlapping
  +method.
   
  -For each key/value pair in C<$table_b>, add the data to
  -C<$table_a>. The definition of C<$flags> explains how C<$flags> define
  -the overlapping method.
  +  $t_a->overlap($t_b, $flags);
   
  -param C<$table_a>: The table to add the data to.
  +=over 4
   
  -param C<$table_b>: The table to iterate over, adding its data to
  -C<%table_a>.
  +=item arg1: C<$t_a> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -param C<$flags>: How to add the C<$table_b> to C<$table_a>.
  +The table to add the data to.
  +
  +=item arg2: C<$t_b> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The table to iterate over, adding its data to table C<$t_a>
  +
  +=item arg3: C<$flags> (integer)
  +
  +How to add the table to table C<$t_a>.
   
   When C<$flags> == C<APR::OVERLAP_TABLES_SET>, if another element
   already exists with the same key, this will over-write the old data.
   
  -When C<$flags> == C<APR::OVERLAP_TABLES_MERGE>, the key/value pair from
  -C<$table_b> is added, regardless of whether there is another element
  -with the same key in C<$table_a>.
  -
  -remark: This function is highly optimized, and uses less memory and
  -CPU cycles than a function that just loops through table b calling
  -other functions.
  +When C<$flags> == C<APR::OVERLAP_TABLES_MERGE>, the key/value pair
  +from C<$t_b> is added, regardless of whether there is another element
  +with the same key in C<$t_a>.
   
  -=item * overlay()
  +=item ret: no return value
   
  -  $new_table = overlay($table_base, $table_overlay, $pool);
  +=back
  +
  +This function is highly optimized, and uses less memory and CPU cycles
  +than a function that just loops through table C<$t_b> calling other
  +functions.
  +
  +Conceptually, C<overlap()> does this:
  +
  +  apr_array_header_t *barr = apr_table_elts(b);
  +  apr_table_entry_t *belt = (apr_table_entry_t *)barr-E<gt>elts;
  +  int i;
  +  
  +  for (i = 0; i E<lt> barr-E<gt>nelts; ++i) {
  +      if (flags & APR_OVERLAP_TABLES_MERGE) {
  +          apr_table_mergen(a, belt[i].key, belt[i].val);
  +      }
  +      else {
  +          apr_table_setn(a, belt[i].key, belt[i].val);
  +      }
  +  }
  +
  +Except that it is more efficient (less space and cpu-time) especially
  +when C<$t_b> has many elements.
  +
  +Notice the assumptions on the keys and values in C<$t_b> -- they must
  +be in an ancestor of C<$t_a>'s pool.  In practice C<$t_b> and C<$t_a> are
  +usually from the same pool.
  +
  +
  +=head2 C<overlay>
   
   Merge two tables into one new table. The resulting table may have more
   than one value for the same key.
   
  -param C<$pool>: The pool to use for the new table
  +  $t = $t_base->overlay($t_overlay, $p);
   
  -param C<$table_overlay>: The first table to put in the new table
  +=over 4
   
  -param C<$table_base>: The table to add at the end of the new table
  +=item arg1: C<$t_base> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -return: A new table containing all of the data from the two passed in
  +The table to add at the end of the new table.
   
  -=item * compress()
  +=item arg2: C<$t_overlay> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -  compress($table, $flag);
  +The first table to put in the new table.
   
  -Converts multi-valued keys in C<$table> to single-valued keys.  
  -This function takes duplicate table entries and flattens them 
  -into a single entry.  The flattening behavior is controlled by 
  -the (mandatory) flag.
  +=item arg3: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
   
  -param C<$table>: The table to add the data to.
  +The pool to use for the new table.
   
  -param C<$flag>: How to compress C<$table>.
  +=item ret: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
   
  -When C<$flag> == C<APR::OVERLAP_TABLES_SET>, each key will be 
  -set to the last value seen for that key.  For example, given
  -key/value pairs 'foo =E<gt> bar' and 'foo =E<gt> baz', 'foo' would
  -have a final value of 'baz' after compression - the 'bar'
  -value would be lost.
  +A new table containing all of the data from the two passed in.
  +
  +=back
  +
  +
  +
  +
  +
  +=head2 C<set>
  +
  +Add a key/value pair to a table, if another element already exists
  +with the same key, this will over-write the old data.
  +
  +  $t->set($key, $val);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The table to add the data to.
  +
  +=item arg2: C<$key> (string)
  +
  +The key to use.
  +
  +=item arg3: C<$val> (string)
  +
  +The value to add.
  +
  +=item ret: no return value
  +
  +=back
  +
  +When adding data, this function makes a copy of both the key and the
  +value.
  +
  +
  +
  +=head2 C<unset>
  +
  +Remove data from the table.
   
  -When C<$flag> == C<APR::OVERLAP_TABLES_MERGE>, multiple values
  -for the same key are flattened into a comma-separated list.
  -Given key/value pairs 'foo =E<gt> bar' and 'foo =E<gt> baz', 'foo'
  -would have a final value of 'bar, baz' after compression.
  +  $t->unset($key);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +The table to remove data from.
  +
  +=item arg2: C<$key> (string)
  +
  +The key of the data being removed.
  +
  +=item ret: no return value
   
   =back
   
  -=head2 TIE Interface
  +
  +
  +
  +=head1 TIE Interface
   
   C<APR::Table> also implements a tied interface, so you can work with the
   C<$table> object as a hash reference.
  @@ -291,7 +475,116 @@
   exception to this is if you iterate over the list with I<each>, then
   you can access all key-value pairs that share the same key.
   
  +=head2 C<EXISTS>
  +
  +  $ret = $t->EXISTS($key);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +=item arg2: C<$key> (string)
  +
  +=item ret: C<$ret> (integer)
  +
  +
  +
  +=back
  +
  +
  +
  +
  +
  +=head2 C<CLEAR>
  +
  +  $t->CLEAR();
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +=item ret: no return value
  +
  +=back
  +
  +
  +
  +
  +
  +=head2 C<STORE>
  +
  +  $t->STORE($key, $value);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +=item arg2: C<$key> (string)
  +
  +=item arg3: C<$value> (string)
  +
  +=item ret: no return value
  +
  +=back
  +
  +
  +
  +
  +
  +=head2 C<DELETE>
  +
  +  $t->DELETE($key);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +=item arg2: C<$key> (string)
  +
  +=item ret: no return value
  +
  +=back
  +
  +
  +
  +
  +
  +=head2 C<FETCH>
  +
  +  $ret = $t->FETCH($key);
  +
  +=over 4
  +
  +=item arg1: C<$t> (C<L<APR::Table|docs::2.0::api::APR::Table>>)
  +
  +=item arg2: C<$key> (string)
  +
  +=item ret: C<$ret> (string)
  +
  +=back
  +
  +
  +
  +
  +=head1 See Also
  +
  +L<mod_perl 2.0 documentation|docs::2.0::index>.
  +
  +
  +
  +
  +=head1 Copyright
  +
  +mod_perl 2.0 and its core modules are copyrighted under
  +The Apache Software License, Version 1.1.
  +
  +
  +
  +
  +=head1 Authors
   
  +L<The mod_perl development team and numerous
  +contributors|about::contributors::people>.
   
   =cut
   
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Base64.pod
  
  Index: Base64.pod
  ===================================================================
  =head1 NAME
  
  APR::Base64 - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Base64 ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Base64> provides the following functions and/or methods:
  
  
  
  
  =head2 C<encode_len>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = encode_len($len);
  
  =over 4
  
  =item arg1: C<$len> (integer)
  
  the length of an unencrypted string.
  
  =item ret: C<$ret> (integer)
  
  the length of the string after it is encrypted
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Brigade.pod
  
  Index: Brigade.pod
  ===================================================================
  =head1 NAME
  
  APR::Brigade - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Brigade ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Brigade> provides the following functions and/or methods:
  
  
  
  
  =head2 C<destroy>
  
  META: Autogenerated - needs to be reviewed/completed
  
  destroy an entire bucket brigade.  This includes destroying all of the
  buckets within the bucket brigade's bucket list.
  
    $ret = $b->destroy();
  
  =over 4
  
  =item arg1: C<$b> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  The bucket brigade to destroy
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<split>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Split a bucket brigade into two, such that the given bucket is the
  first in the new bucket brigade. This function is useful when a
  filter wants to pass only the initial part of a brigade to the next
  filter.
  
    $ret = $b->split($e);
  
  =over 4
  
  =item arg1: C<$b> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  The brigade to split
  
  =item arg2: C<$e> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  The first element of the new brigade
  
  =item ret: C<$ret> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  The new brigade
  
  =back
  
  
  
  
  
  =head2 C<concat>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $a->concat($b);
  
  =over 4
  
  =item arg1: C<$a> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item arg2: C<$b> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<empty>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = $brigade->empty();
  
  =over 4
  
  =item arg1: C<$brigade> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<insert_head>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $brigade->insert_head($bucket);
  
  =over 4
  
  =item arg1: C<$brigade> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item arg2: C<$bucket> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<insert_tail>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $brigade->insert_tail($bucket);
  
  =over 4
  
  =item arg1: C<$brigade> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item arg2: C<$bucket> (C<L<APR::Brigade|docs::2.0::api::APR::Brigade>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Bucket.pod
  
  Index: Bucket.pod
  ===================================================================
  =head1 NAME
  
  APR::Bucket - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Bucket ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Bucket> provides the following functions and/or methods:
  
  
  
  
  =head2 C<eos_create>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Each bucket type foo has two initialization functions:
  apr_bucket_foo_make which sets up some already-allocated memory as a
  bucket of type foo; and apr_bucket_foo_create which allocates memory
  for the bucket, calls apr_bucket_make_foo, and initializes the
  bucket's list pointers. The apr_bucket_foo_make functions are used
  inside the bucket code to change the type of buckets in place;
  other code should call apr_bucket_foo_create. All the initialization
  functions change nothing if they fail. *
  
  Create an End of Stream bucket.  This indicates that there is no more
  data coming from down the filter stack.  All filters should flush at
  this point.
  
    $ret = $list->eos_create();
  
  =over 4
  
  =item arg1: C<$list> (C<L<APR::BucketAlloc|docs::2.0::api::APR::BucketAlloc>>)
  
  The freelist from which this bucket should be allocated
  
  =item ret: C<$ret> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  The new bucket, or NULL if allocation failed
  
  =back
  
  
  
  
  
  =head2 C<flush_create>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Create a flush  bucket.  This indicates that filters should flush their
  data.  There is no guarantee that they will flush it, but this is the
  best we can do.
  
    $ret = $list->flush_create();
  
  =over 4
  
  =item arg1: C<$list> (C<L<APR::BucketAlloc|docs::2.0::api::APR::BucketAlloc>>)
  
  The freelist from which this bucket should be allocated
  
  =item ret: C<$ret> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  The new bucket, or NULL if allocation failed
  
  =back
  
  
  
  
  
  =head2 C<insert_after>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $a->insert_after($b);
  
  =over 4
  
  =item arg1: C<$a> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item arg2: C<$b> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<insert_before>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $a->insert_before($b);
  
  =over 4
  
  =item arg1: C<$a> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item arg2: C<$b> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<is_eos>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = $bucket->is_eos();
  
  =over 4
  
  =item arg1: C<$bucket> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<is_flush>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = $bucket->is_flush();
  
  =over 4
  
  =item arg1: C<$bucket> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<remove>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $bucket->remove();
  
  =over 4
  
  =item arg1: C<$bucket> (C<L<APR::Bucket|docs::2.0::api::APR::Bucket>>)
  
  
  
  =item ret: no return value
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Date.pod
  
  Index: Date.pod
  ===================================================================
  =head1 NAME
  
  APR::Date - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Date ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Date> provides the following functions and/or methods:
  
  
  
  
  =head2 C<parse_http>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Parses an HTTP date in one of three standard forms:
  
    Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
    Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
    Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
  
    $ret = parse_http($date);
  
  =over 4
  
  =item arg1: C<$date> (string)
  
  The date in one of the three formats above
  
  =item ret: C<$ret> (number)
  
  the apr_time_t number of microseconds since 1 Jan 1970 GMT, or
  0 if this would be out of range or if the date is invalid.
  
  =back
  
  
  
  
  
  =head2 C<parse_rfc>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Parses a string resembling an RFC 822 date.  This is meant to be
  leinent in its parsing of dates.  Hence, this will parse a wider
  range of dates than apr_date_parse_http.
  
  The prominent mailer (or poster, if mailer is unknown) that has
  been seen in the wild is included for the unknown formats:
  
    Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
    Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
    Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
    Sun, 6 Nov 1994 08:49:37 GMT   ; RFC 822, updated by RFC 1123
    Sun, 06 Nov 94 08:49:37 GMT    ; RFC 822
    Sun, 6 Nov 94 08:49:37 GMT     ; RFC 822
    Sun, 06 Nov 94 08:49 GMT       ; Unknown [EMAIL PROTECTED]
    Sun, 6 Nov 94 08:49 GMT        ; Unknown [EMAIL PROTECTED]
    Sun, 06 Nov 94 8:49:37 GMT     ; Unknown [Elm 70.85]
    Sun, 6 Nov 94 8:49:37 GMT      ; Unknown [Elm 70.85]
  
  
  
    $ret = parse_rfc($date);
  
  =over 4
  
  =item arg1: C<$date> (string)
  
  The date in one of the formats above
  
  =item ret: C<$ret> (number)
  
  the apr_time_t number of microseconds since 1 Jan 1970 GMT, or
  0 if this would be out of range or if the date is invalid.
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Finfo.pod
  
  Index: Finfo.pod
  ===================================================================
  =head1 NAME
  
  APR::Finfo - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Finfo ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Finfo> provides the following functions and/or methods:
  
  
  
  
  =head2 C<stat>
  
  META: Autogenerated - needs to be reviewed/completed
  
  get the specified file's stats.  The file is specified by filename,
  instead of using a pre-opened file.
  
    $ret = $finfo->stat($fname, $wanted, $cont);
  
  =over 4
  
  =item arg1: C<$finfo> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  Where to store the information about the file, which is
  never touched if the call fails.
  
  =item arg2: C<$fname> (string)
  
  The name of the file to stat.
  
  =item arg3: C<$wanted> (string)
  
  The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
  
  =item arg4: C<$cont> (integer)
  
  the pool to use to allocate the new file.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<pool>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Allocates memory and closes lingering handles in the specified pool
  
    $ret = $obj->pool($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  =back
  
  
  
  
  
  =head2 C<valid>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The bitmask describing valid fields of this apr_finfo_t structure
  including all available 'wanted' fields and potentially more
  
    $ret = $obj->valid($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<protection>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The access permissions of the file.  Mimics Unix access rights.
  
    $ret = $obj->protection($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<filetype>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The type of file.  One of APR_REG, APR_DIR, APR_CHR, APR_BLK, APR_PIPE,
  APR_LNK or APR_SOCK.  If the type is undetermined, the value is APR_NOFILE.
  If the type cannot be determined, the value is APR_UNKFILE.
  
    $ret = $obj->filetype($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<user>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The user id that owns the file
  
    $ret = $obj->user($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<group>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The group id that owns the file
  
    $ret = $obj->group($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<inode>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The inode of the file.
  
    $ret = $obj->inode($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<device>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The id of the device the file is on.
  
    $ret = $obj->device($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<nlink>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The number of hard links to the file.
  
    $ret = $obj->nlink($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<size>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The size of the file
  
    $ret = $obj->size($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<csize>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The storage size consumed by the file
  
    $ret = $obj->csize($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (integer)
  
  =back
  
  
  
  
  
  =head2 C<atime>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The time the file was last accessed
  
    $ret = $obj->atime($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<mtime>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The time the file was last modified
  
    $ret = $obj->mtime($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<ctime>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The time the file was last changed
  
    $ret = $obj->ctime($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<fname>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The pathname of the file (possibly unrooted)
  
    $ret = $obj->fname($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<name>
  
  META: Autogenerated - needs to be reviewed/completed
  
  The file's name (no path) in filesystem case
  
    $ret = $obj->name($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::Finfo|docs::2.0::api::APR::Finfo>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/NetLib.pod
  
  Index: NetLib.pod
  ===================================================================
  =head1 NAME
  
  APR::NetLib - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::NetLib ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::NetLib> provides the following functions and/or methods:
  
  
  
  
  =head2 C<test>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Test the IP address in an apr_sockaddr_t against a pre-built ip-subnet
  representation.
  
    $ret = $ipsub->test($sa);
  
  =over 4
  
  =item arg1: C<$ipsub> (C<L<APR::IpSubnet|docs::2.0::api::APR::IpSubnet>>)
  
  The ip-subnet representation
  
  =item arg2: C<$sa> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  The socket address to test
  
  =item ret: C<$ret> (integer)
  
  non-zero if the socket address is within the subnet, 0 otherwise
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Pool.pod
  
  Index: Pool.pod
  ===================================================================
  =head1 NAME
  
  APR::Pool - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Pool ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Pool> provides the following functions and/or methods:
  
  
  
  
  =head2 C<cleanup_for_exec>
  
  META: Autogenerated - needs to be reviewed/completed
  
  buffers, *don't* wait for subprocesses, and *don't* free any memory. *
  Run all of the child_cleanups, so that any unnecessary files are
  closed because we are about to exec a new program
  
  =over
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<clear>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Clear all memory in the pool and run all the cleanups. This also destroys all
  subpools.
  
    $p->clear();
  
  =over 4
  
  =item arg1: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  The pool to clear
  
  =item ret: no return value
  
  =back
  
  This does not actually free the memory, it just allows the pool
  to re-use this memory for the next allocation.
  
  
  
  =head2 C<destroy>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Destroy the pool. This takes similar action as apr_pool_clear() and then
  frees all the memory.
  
    $p->destroy();
  
  =over 4
  
  =item arg1: C<$p> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  The pool to destroy
  
  =item ret: no return value
  
  =back
  
  This will actually free the memory
  
  
  
  =head2 C<is_ancestor>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Determine if pool a is an ancestor of pool b
  
    $ret = $a->is_ancestor($b);
  
  =over 4
  
  =item arg1: C<$a> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  The pool to search
  
  =item arg2: C<$b> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  The pool to search for
  
  =item ret: C<$ret> (integer)
  
  True if a is an ancestor of b, NULL is considered an ancestor
  of all pools.
  
  =back
  
  
  
  
  
  =head2 C<tag>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Tag a pool (give it a name)
  
    $pool->tag($tag);
  
  =over 4
  
  =item arg1: C<$pool> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  The pool to tag
  
  =item arg2: C<$tag> (string)
  
  The tag
  
  =item ret: no return value
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/SockAddr.pod
  
  Index: SockAddr.pod
  ===================================================================
  =head1 NAME
  
  APR::SockAddr - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::SockAddr ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::SockAddr> provides the following functions and/or methods:
  
  
  
  
  =head2 C<equal>
  
  META: Autogenerated - needs to be reviewed/completed
  
  See if the IP addresses in two APR socket addresses are
  equivalent.  Appropriate logic is present for comparing
  IPv4-mapped IPv6 addresses with IPv4 addresses.
  
    $ret = $addr1->equal($addr2);
  
  =over 4
  
  =item arg1: C<$addr1> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  One of the APR socket addresses.
  
  =item arg2: C<$addr2> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  The other APR socket address.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  The return value will be non-zero if the addresses
  are equivalent.
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Socket.pod
  
  Index: Socket.pod
  ===================================================================
  =head1 NAME
  
  APR::Socket - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Socket ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Socket> provides the following functions and/or methods:
  
  
  
  
  =head2 C<bind>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Bind the socket to its associated port
  
    $ret = $sock->bind($sa);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to bind
  
  =item arg2: C<$sa> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  The socket address to bind to
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  This may be where we will find out if there is any other process
  using the selected port.
  
  
  
  =head2 C<close>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Close a socket.
  
    $ret = $thesocket->close();
  
  =over 4
  
  =item arg1: C<$thesocket> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to close
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<connect>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Issue a connection request to a socket either on the same machine
  or a different one.
  
    $ret = $sock->connect($sa);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket we wish to use for our side of the connection 
  
  =item arg2: C<$sa> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAdrr>>)
  
  The address of the machine we wish to connect to.  If NULL,
  APR assumes that the sockaddr_in in the apr_socket is
  completely filled out.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<listen>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Listen to a bound socket for connections.
  
    $ret = $sock->listen($backlog);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to listen on 
  
  =item arg2: C<$backlog> (integer)
  
  The number of outstanding connections allowed in the sockets
  listen queue.  If this value is less than zero, the listen
  queue size is set to zero.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<opt_get>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Query socket options for the specified socket
  
    $ret = $sock->opt_get($opt, $on);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to query
  
  =item arg2: C<$opt> (integer)
  
  The option we would like to query.  One of:
  
    APR::SO_DEBUG        -- turn on debugging information
    APR::SO_KEEPALIVE    -- keep connections active
    APR::SO_LINGER       -- lingers on close if data is present
    APR::SO_NONBLOCK     -- Turns blocking on/off for socket
    APR::SO_REUSEADDR    -- The rules used in validating addresses
                            supplied to bind should allow reuse
                            of local addresses.
    APR::SO_SNDBUF       -- Set the SendBufferSize
    APR::SO_RCVBUF       -- Set the ReceiveBufferSize
    APR::SO_DISCONNECTED -- Query the disconnected state of the socket.
                            (Currently only used on Windows)
  
  
  =item arg3: C<$on> (integer)
  
  Socket option returned on the call.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<opt_set>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Setup socket options for the specified socket
  
    $ret = $sock->opt_set($opt, $on);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to set up.
  
  =item arg2: C<$opt> (integer)
  
  The option we would like to configure.  One of:
  
    APR::SO_DEBUG     -- turn on debugging information
    APR::SO_KEEPALIVE -- keep connections active
    APR::SO_LINGER    -- lingers on close if data is present
    APR::SO_NONBLOCK  -- Turns blocking on/off for socket
    APR::SO_REUSEADDR -- The rules used in validating addresses
                         supplied to bind should allow reuse of local
                         addresses.
    APR::SO_SNDBUF    -- Set the SendBufferSize
    APR::SO_RCVBUF    -- Set the ReceiveBufferSize
  
  =item arg3: C<$on> (integer)
  
  Value for the option.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<recvfrom>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = $from->recvfrom($sock, $flags, $buf, $len);
  
  =over 4
  
  =item arg1: C<$from> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  The apr_sockaddr_t to fill in the recipient info
  
  =item arg2: C<$sock> (C<L<APR::SockAddr|docs::2.0::api::APR::SockAddr>>)
  
  The socket to use
  
  =item arg3: C<$flags> (integer)
  
  The flags to use
  
  =item arg4: C<$buf> (integer)
  
  The buffer to use
  
  =item arg5: C<$len> (string)
  
  The length of the available buffer
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<sendto>
  
  META: Autogenerated - needs to be reviewed/completed
  
  
  
    $ret = $sock->sendto($where, $flags, $buf, $len);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to send from
  
  =item arg2: C<$where> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The apr_sockaddr_t describing where to send the data
  
  =item arg3: C<$flags> (integer)
  
  The flags to use
  
  =item arg4: C<$buf> (scalar)
  
  The data to send
  
  =item arg5: C<$len> (string)
  
  The length of the data to send
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<timeout_set>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Setup socket timeout for the specified socket
  
    $ret = $sock->timeout_set($t);
  
  =over 4
  
  =item arg1: C<$sock> (C<L<APR::Socket|docs::2.0::api::APR::Socket>>)
  
  The socket to set up.
  
  =item arg2: C<$t> (number)
  
  Value for the timeout:
  
     t > 0  -- read and write calls return APR::TIMEUP if specified time
               elapsess with no data read or written
     t == 0 -- read and write calls never block
     t < 0  -- read and write calls block
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/ThreadMutex.pod
  
  Index: ThreadMutex.pod
  ===================================================================
  =head1 NAME
  
  APR::ThreadMutex - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::ThreadMutex ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::ThreadMutex> provides the following functions and/or methods:
  
  
  
  
  =head2 C<DESTROY>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Destroy the mutex and free the memory associated with the lock.
  
    $mutex->DESTROY();
  
  =over 4
  
  =item arg1: C<$mutex> 
(C<L<APR::ThreadMutex|docs::2.0::api::APR::ThreadMutex>>)
  
  the mutex to destroy.
  
  =item ret: no return value
  
  =back
  
  
  
  
  
  =head2 C<lock>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Acquire the lock for the given mutex. If the mutex is already locked,
  the current thread will be put to sleep until the lock becomes available.
  
    $ret = $mutex->lock();
  
  =over 4
  
  =item arg1: C<$mutex> 
(C<L<APR::ThreadMutex|docs::2.0::api::APR::ThreadMutex>>)
  
  the mutex on which to acquire the lock.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<pool_get>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Get the pool used by this thread_mutex.
  
    $ret = $ob->pool_get();
  
  =over 4
  
  =item arg1: C<$ob> (C<L<APR::ThreadMutex|docs::2.0::api::APR::ThreadMutex>>)
  
  
  
  =item ret: C<$ret> (C<L<APR::Pool|docs::2.0::api::APR::Pool>>)
  
  apr_pool_t the pool
  
  =back
  
  
  
  
  
  =head2 C<trylock>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Attempt to acquire the lock for the given mutex. If the mutex has already
  been acquired, the call returns immediately with APR_EBUSY. Note: it
  is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
  if the return value was APR_EBUSY, for portability reasons.
  
    $ret = $mutex->trylock();
  
  =over 4
  
  =item arg1: C<$mutex> 
(C<L<APR::ThreadMutex|docs::2.0::api::APR::ThreadMutex>>)
  
  the mutex on which to attempt the lock acquiring.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  
  =head2 C<unlock>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Release the lock for the given mutex.
  
    $ret = $mutex->unlock();
  
  =over 4
  
  =item arg1: C<$mutex> 
(C<L<APR::ThreadMutex|docs::2.0::api::APR::ThreadMutex>>)
  
  the mutex from which to release the lock.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/URI.pod
  
  Index: URI.pod
  ===================================================================
  =head1 NAME
  
  APR::URI - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::URI ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::URI> provides the following functions and/or methods:
  
  
  
  
  =head2 C<port_of_scheme>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Return the default port for a given scheme.  The schemes recognized are
  http, ftp, https, gopher, wais, nntp, snews, and prospero
  
    $ret = port_of_scheme($scheme_str);
  
  =over 4
  
  =item arg1: C<$scheme_str> (string)
  
  The string that contains the current scheme
  
  =item ret: C<$ret> (integer)
  
  The default port for this scheme
  
  =back
  
  
  
  
  
  =head2 C<scheme>
  
  META: Autogenerated - needs to be reviewed/completed
  
  scheme ("http"/"ftp"/...)
  
    $ret = $obj->scheme($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<hostinfo>
  
  META: Autogenerated - needs to be reviewed/completed
  
  combined [user[:[EMAIL PROTECTED]:port]
  
    $ret = $obj->hostinfo($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<user>
  
  META: Autogenerated - needs to be reviewed/completed
  
  user name, as in http://user:[EMAIL PROTECTED]:port/
  
    $ret = $obj->user($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<password>
  
  META: Autogenerated - needs to be reviewed/completed
  
  password, as in http://user:[EMAIL PROTECTED]:port/
  
    $ret = $obj->password($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<hostname>
  
  META: Autogenerated - needs to be reviewed/completed
  
  hostname from URI (or from Host: header)
  
    $ret = $obj->hostname($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<path>
  
  META: Autogenerated - needs to be reviewed/completed
  
  the request path (or "/" if only scheme://host was given)
  
    $ret = $obj->path($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<query>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Everything after a '?' in the path, if present
  
    $ret = $obj->query($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<fragment>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Trailing "#fragment" string, if present
  
    $ret = $obj->fragment($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (string)
  
  =back
  
  
  
  
  
  =head2 C<is_initialized>
  
  META: Autogenerated - needs to be reviewed/completed
  
  has the structure been initialized
  
    $ret = $obj->is_initialized($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<dns_looked_up>
  
  META: Autogenerated - needs to be reviewed/completed
  
  has the DNS been looked up yet
  
    $ret = $obj->dns_looked_up($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  
  =head2 C<dns_resolved>
  
  META: Autogenerated - needs to be reviewed/completed
  
  has the dns been resolved yet
  
    $ret = $obj->dns_resolved($newval);
  
  =over 4
  
  =item arg1: C<$obj> (C<L<APR::URI|docs::2.0::api::APR::URI>>)
  
  =item arg2: C<$newval> (number)
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  
  1.1                  modperl-docs/src/docs/2.0/api/APR/Util.pod
  
  Index: Util.pod
  ===================================================================
  =head1 NAME
  
  APR::Util - Perl API for XXX
  
  
  
  
  =head1 Synopsis
  
    use APR::Util ();
  
  META: to be completed
  
  
  
  
  =head1 Description
  
  META: to be completed
  
  
  
  
  =head1 API
  
  C<APR::Util> provides the following functions and/or methods:
  
  
  
  
  =head2 C<filepath_name_get>
  
  META: Autogenerated - needs to be reviewed/completed
  
  return the final element of the pathname
  
    $ret = filepath_name_get($pathname);
  
  =over 4
  
  =item arg1: C<$pathname> (string)
  
  The path to get the final element of
  
  =item ret: C<$ret> (string)
  
  the final element of the path
  @remark
  E<lt>PREE<gt>
   For example:
                   "/foo/bar/gum"    -E<gt> "gum"
                   "/foo/bar/gum/"   -E<gt> ""
                   "gum"             -E<gt> "gum"
                   "bs\\path\\stuff" -E<gt> "stuff"
  E<lt>/PREE<gt>
  
  =back
  
  
  
  
  
  =head2 C<password_get>
  
  META: Autogenerated - needs to be reviewed/completed
  
  Display a prompt and read in the password from stdin.
  
    $ret = password_get($prompt, $pwbuf, $bufsize);
  
  =over 4
  
  =item arg1: C<$prompt> (string)
  
  The prompt to display
  
  =item arg2: C<$pwbuf> (string)
  
  Buffer to store the password
  
  =item arg3: C<$bufsize> (number)
  
  The length of the password buffer.
  
  =item ret: C<$ret> (integer)
  
  
  
  =back
  
  
  
  
  =head1 See Also
  
  L<mod_perl 2.0 documentation|docs::2.0::index>.
  
  
  
  
  =head1 Copyright
  
  mod_perl 2.0 and its core modules are copyrighted under
  The Apache Software License, Version 1.1.
  
  
  
  
  =head1 Authors
  
  L<The mod_perl development team and numerous
  contributors|about::contributors::people>.
  
  =cut
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to