stas        2004/09/21 18:30:06

  Modified:    src/docs/2.0/api/APR Const.pod Finfo.pod
  Log:
  - change a bunch of the APR:: constants to have a better prefix
  (APR::FILETYPE_* and APR::FILEPROT_). libapr will be changed soon too
  - Complete APR::Finfo manpage
  
  Revision  Changes    Path
  1.23      +188 -41   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.22
  retrieving revision 1.23
  diff -u -u -r1.22 -r1.23
  --- Const.pod 14 Sep 2004 19:14:10 -0000      1.22
  +++ Const.pod 22 Sep 2004 01:30:06 -0000      1.23
  @@ -1004,20 +1004,23 @@
   
   
   
  -=head2 C<:fileperms>
  +=head2 C<:fileprot>
   
  -  use APR::Const -compile => qw(:fileperms);
  +  use APR::Const -compile => qw(:fileprot);
   
  -The C<:fileperms> group is for XXX constants.
  +The C<:fileprot> group is used by
  +C<L<$finfo-E<gt>protection|docs::2.0::api::APR::Finfo/C_protection_>>.
   
   
   
   
  -=head3 C<APR::GEXECUTE>
  +=head3 C<APR_FILEPROT_GEXECUTE>
  +
  +Execute by group
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1025,116 +1028,186 @@
   
   
   
  -=head3 C<APR::GREAD>
  +
  +=head3 C<APR_FILEPROT_GREAD>
  +
  +Read by group
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_GSETID>
   
  -=head3 C<APR::GWRITE>
  +Set group id
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_GWRITE>
   
  -=head3 C<APR::UEXECUTE>
  +Write by group
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_OS_DEFAULT>
   
  -=head3 C<APR::UREAD>
  +use OS's default permissions
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_UEXECUTE>
   
  -=head3 C<APR::UWRITE>
  +Execute by user
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_UREAD>
   
  -=head3 C<APR::WEXECUTE>
  +Read by user
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_USETID>
   
  -=head3 C<APR::WREAD>
  +Set user id
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_UWRITE>
   
  -=head3 C<APR::WWRITE>
  +Write by user
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
  +
  +=back
  +
  +
  +
  +
  +=head3 C<APR_FILEPROT_WEXECUTE>
  +
  +Execute by others
  +
  +=over
  +
  +=item since: 1.99_17
  +
  +=back
  +
  +
  +
  +
  +=head3 C<APR_FILEPROT_WREAD>
  +
  +Read by others
  +
  +=over
  +
  +=item since: 1.99_17
   
   =back
   
   
   
   
  +=head3 C<APR_FILEPROT_WSTICKY>
  +
  +Sticky bit
  +
  +=over
  +
  +=item since: 1.99_17
  +
  +=back
  +
  +
  +
  +
  +=head3 C<APR_FILEPROT_WWRITE>
  +
  +Write by others
  +
  +=over
  +
  +=item since: 1.99_17
  +
  +=back
  +
  +
  +
  +
  +
  +
  +
  +
  +
   
   =head2 C<:filetype>
   
     use APR::Const -compile => qw(:filetype);
   
  -The C<:filetype> group is for XXX constants.
  +The C<:filetype> group is used by
  +C<L<$finfo-E<gt>filetype|docs::2.0::api::APR::Finfo/C_filetype_>>.
  +
   
   
   
  +=head3 C<APR::FILETYPE_BLK>
   
  -=head3 C<APR::NOFILE>
  +a file is a block device
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1142,11 +1215,14 @@
   
   
   
  -=head3 C<APR::REG>
  +
  +=head3 C<APR::FILETYPE_CHR>
  +
  +a file is a character device
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1154,11 +1230,13 @@
   
   
   
  -=head3 C<APR::DIR>
  +=head3 C<APR::FILETYPE_DIR>
  +
  +a file is a directory
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1166,11 +1244,13 @@
   
   
   
  -=head3 C<APR::CHR>
  +=head3 C<APR::FILETYPE_LNK>
  +
  +a file is a symbolic link
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1178,11 +1258,13 @@
   
   
   
  -=head3 C<APR::BLK>
  +=head3 C<APR::FILETYPE_NOFILE>
  +
  +the file type is undedetermined.
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1190,11 +1272,13 @@
   
   
   
  -=head3 C<APR::PIPE>
  +=head3 C<APR::FILETYPE_PIPE>
  +
  +a file is a FIFO or a pipe.
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1202,11 +1286,13 @@
   
   
   
  -=head3 C<APR::LNK>
  +=head3 C<APR::FILETYPE_REG>
  +
  +a file is a regular file.
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1214,11 +1300,13 @@
   
   
   
  -=head3 C<APR::SOCK>
  +=head3 C<APR::FILETYPE_SOCK>
  +
  +a file is a [unix domain] socket.
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1226,11 +1314,13 @@
   
   
   
  -=head3 C<APR::UNKFILE>
  +=head3 C<APR::FILETYPE_UNKFILE>
  +
  +a file is of some other unknown type or the type cannot be determined.
   
   =over
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  @@ -1238,17 +1328,26 @@
   
   
   
  +
  +
  +
  +
  +
   =head2 C<:finfo>
   
     use APR::Const -compile => qw(:finfo);
   
  -The C<:finfo> group is for XXX constants.
  +The C<:finfo> group is used by
  +C<L<stat()|docs::2.0::api::APR::Finfo/C_stat_>> and
  +C<L<$finfo-E<gt>valid|docs::2.0::api::APR::Finfo/C_valid_>>.
   
   
   
   
   =head3 C<APR::FINFO_ATIME>
   
  +Access Time
  +
   =over
   
   =item since: 1.99_12
  @@ -1261,6 +1360,8 @@
   
   =head3 C<APR::FINFO_CSIZE>
   
  +Storage size consumed by the file
  +
   =over
   
   =item since: 1.99_12
  @@ -1273,6 +1374,8 @@
   
   =head3 C<APR::FINFO_CTIME>
   
  +Creation Time
  +
   =over
   
   =item since: 1.99_12
  @@ -1285,6 +1388,8 @@
   
   =head3 C<APR::FINFO_DEV>
   
  +Device
  +
   =over
   
   =item since: 1.99_12
  @@ -1297,6 +1402,8 @@
   
   =head3 C<APR::FINFO_DIRENT>
   
  +an atomic unix apr_dir_read()
  +
   =over
   
   =item since: 1.99_12
  @@ -1309,6 +1416,8 @@
   
   =head3 C<APR::FINFO_GPROT>
   
  +Group protection bits
  +
   =over
   
   =item since: 1.99_12
  @@ -1321,6 +1430,8 @@
   
   =head3 C<APR::FINFO_GROUP>
   
  +Group id
  +
   =over
   
   =item since: 1.99_12
  @@ -1333,6 +1444,8 @@
   
   =head3 C<APR::FINFO_ICASE>
   
  +whether device is case insensitive
  +
   =over
   
   =item since: 1.99_12
  @@ -1345,6 +1458,8 @@
   
   =head3 C<APR::FINFO_IDENT>
   
  +device and inode
  +
   =over
   
   =item since: 1.99_12
  @@ -1357,6 +1472,8 @@
   
   =head3 C<APR::FINFO_INODE>
   
  +Inode
  +
   =over
   
   =item since: 1.99_12
  @@ -1369,6 +1486,8 @@
   
   =head3 C<APR::FINFO_LINK>
   
  +Stat the link not the file itself if it is a link
  +
   =over
   
   =item since: 1.99_12
  @@ -1381,6 +1500,8 @@
   
   =head3 C<APR::FINFO_MIN>
   
  +type, mtime, ctime, atime, size
  +
   =over
   
   =item since: 1.99_12
  @@ -1393,6 +1514,8 @@
   
   =head3 C<APR::FINFO_MTIME>
   
  +Modification Time
  +
   =over
   
   =item since: 1.99_12
  @@ -1405,6 +1528,8 @@
   
   =head3 C<APR::FINFO_NAME>
   
  +name in proper case
  +
   =over
   
   =item since: 1.99_12
  @@ -1417,6 +1542,8 @@
   
   =head3 C<APR::FINFO_NLINK>
   
  +Number of links
  +
   =over
   
   =item since: 1.99_12
  @@ -1429,6 +1556,8 @@
   
   =head3 C<APR::FINFO_NORM>
   
  +All fields provided by an atomic unix apr_stat()
  +
   =over
   
   =item since: 1.99_12
  @@ -1441,6 +1570,8 @@
   
   =head3 C<APR::FINFO_OWNER>
   
  +user and group
  +
   =over
   
   =item since: 1.99_12
  @@ -1453,6 +1584,8 @@
   
   =head3 C<APR::FINFO_PROT>
   
  +all protections
  +
   =over
   
   =item since: 1.99_12
  @@ -1465,6 +1598,8 @@
   
   =head3 C<APR::FINFO_SIZE>
   
  +Size of the file
  +
   =over
   
   =item since: 1.99_12
  @@ -1477,6 +1612,8 @@
   
   =head3 C<APR::FINFO_TYPE>
   
  +Type
  +
   =over
   
   =item since: 1.99_12
  @@ -1489,6 +1626,8 @@
   
   =head3 C<APR::FINFO_UPROT>
   
  +User protection bits
  +
   =over
   
   =item since: 1.99_12
  @@ -1501,6 +1640,8 @@
   
   =head3 C<APR::FINFO_USER>
   
  +User id
  +
   =over
   
   =item since: 1.99_12
  @@ -1513,11 +1654,17 @@
   
   =head3 C<APR::FINFO_WPROT>
   
  +World protection bits
  +
   =over
   
   =item since: 1.99_12
   
   =back
  +
  +
  +
  +
   
   
   
  
  
  
  1.7       +250 -163  modperl-docs/src/docs/2.0/api/APR/Finfo.pod
  
  Index: Finfo.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/api/APR/Finfo.pod,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -u -r1.6 -r1.7
  --- Finfo.pod 28 May 2004 02:55:15 -0000      1.6
  +++ Finfo.pod 22 Sep 2004 01:30:06 -0000      1.7
  @@ -2,15 +2,35 @@
   
   APR::Finfo - Perl API for APR fileinfo structure
   
  -XXX: Besides working through the doc we need to get good constant
  -names from libapr (needs apr patching)
  -
   
   =head1 Synopsis
   
     use APR::Finfo ();
  +  use APR::Const -compile => qw(FINFO_NORM);
  +  my $finfo = APR::Finfo::stat("/tmp/test", APR::FINFO_NORM, $pool);
  +  
  +  $device = $finfo->device;     # (stat $file)[0]
  +  $inode  = $finfo->inode;      # (stat $file)[1]
  +  $prot   = $finfo->protection; # (stat $file)[2]
  +  $nlink  = $finfo->nlink;      # (stat $file)[3]
  +  $gid    = $finfo->group;      # (stat $file)[4]
  +  $uid    = $finfo->user;       # (stat $file)[5]
  +  $size   = $finfo->size;       # (stat $file)[7]
  +  $atime  = $finfo->atime;      # (stat $file)[8]
  +  $mtime  = $finfo->mtime;      # (stat $file)[9]
  +  $ctime  = $finfo->ctime;      # (stat $file)[10]
  +  
  +  $csize = $finfo->csize; # consumed size: not portable!
  +  
  +  $filetype = $finfo->filetype; # file/dir/socket/etc
  +  
  +  $fname = $finfo->fname;
  +  $name  = $finfo->name;  # in filesystem case:
  +  
  +  # valid fields that can be queried
  +  $valid = $finfo->valid;
  +
   
  -META: to be completed
   
   
   
  @@ -40,153 +60,183 @@
   
   
   
  -=head2 C<stat>
  +=head2 C<atime>
   
  -Get the specified file's stats.  The file is specified by filename,
  -instead of using a pre-opened file.
  +Get the time the file was last accessed:
   
  -  $finfo = stat($fname, $wanted_fields, $pool);
  +  $atime = $finfo->atime;
   
   =over 4
   
  -=item arg1: C<$fname> ( string )
  -
  -The path to the file to C<stat()>.
  -
  -=item arg2: C<$wanted> ( string )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values
  +=item return: C<$atime> ( integer )
   
  -XXX
  +Last access time in seconds since the epoch
   
  -=item arg3: C<$pool> ( integer )
  +=item since: 1.99_12
   
  -the pool to use to allocate the new file.
  +=back
   
  -=item ret: C<$finfo>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +This method returns the same value as Perl's:
   
  -=item since: 1.99_12
  +  (stat $filename)[8]
   
  -=back
  +Note that this method may not be reliable on all platforms, most
  +notably Win32 -- FAT32 filesystems appear to work properly, but NTFS
  +filesystems do not.
   
   
   
   
   
  -=head2 C<pool>
   
  -META: Autogenerated - needs to be reviewed/completed
  +=head2 C<csize>
   
  -Allocates memory and closes lingering handles in the specified pool
  +Get the storage size consumed by the file
   
  -  $ret = $obj->pool($newval);
  +  $csize = $finfo->csize;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval>
  -( C<L<APR::Pool|docs::2.0::api::APR::Pool>> )
  +=item return: C<$csize> ( integer )
   
   =item since: 1.99_12
   
   =back
   
  +Chances are that you don't want to use this method, since its
  +functionality is not supported on most platforms (in which case it
  +always returns 0).
   
   
   
   
  -=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);
  +=head2 C<ctime>
  +
  +Get the time the file was last changed
  +
  +  $ctime = $finfo->ctime;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
  +
  +=item return: C<$ctime> ( integer )
   
  -=item arg1: C<$newval> ( integer )
  +Inode change time in seconds since the epoch
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[10]
  +
  +The ctime field is non-portable.  In particular, you cannot expect it
  +to be a "creation time", see "Files and Filesystems" in the
  +I<perlport> manpage for details.
   
   
   
  -=head2 C<protection>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The access permissions of the file.  Mimics Unix access rights.
   
  -  $ret = $obj->protection($newval);
  +=head2 C<device>
  +
  +Get the id of the device the file is on.
  +
  +  $device = $finfo->device;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$device> ( integer )
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[0]
   
  +Note that this method is non-portable. It doesn't work on all
  +platforms, most notably Win32.
   
   
  -=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);
  +
  +=head2 C<filetype>
  +
  +Get the type of file.
  +
  +  $filetype = $finfo->filetype;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$filetype> ( C<L<:filetype
  +constant|docs::2.0::api::APR::Const/C__filetype_>> )
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  +For example:
   
  +  use APR::Pool;
  +  use APR::Finfo;
  +  use APR::Const -compile => qw(FILETYPE_DIR FILETYPE_REG FINFO_NORM);
  +  my $pool  = APR::Pool->new();
  +  my $finfo = APR::Finfo::stat("/tmp", APR::FINFO_NORM, $pool);
  +  my $finfo = $finfo->filetype;
  +  if ($finfo == APR::FILETYPE_REG) {
  +      print "regular file";
  +  }
  +  elsif ($finfo == APR::FILETYPE_REG) {
  +      print "directory";
  +  }
  +  else {
  +      print "other file";
  +  }
   
  +Since F</tmp> is a directory, this will print:
   
  +  directory
   
  -=head2 C<user>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The user id that owns the file
   
  -  $ret = $obj->user($newval);
   
  -Note that this method may not be meaningful on all platforms,
  -most notably Win32.
  +
  +=head2 C<fname>
  +
  +Get the pathname of the file (possibly unrooted)
  +
  +  $fname = $finfo->fname;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$filetype> ( string )
   
   =item since: 1.99_12
   
  @@ -196,100 +246,110 @@
   
   
   
  -=head2 C<group>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The group id that owns the file
   
  -  $ret = $obj->group($newval);
  +=head2 C<group>
   
  -Note that this method may not be meaningful on all platforms,
  -most notably Win32.  Incorrect results have also been reported
  -on some versions of OSX.
  +Get the group id that owns the file:
  +
  +  $gid = $finfo->group;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$gid> ( number )
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[5]
   
  +Note that this method may not be meaningful on all platforms, most
  +notably Win32.  Incorrect results have also been reported on some
  +versions of OSX.
   
   
  -=head2 C<inode>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The inode of the file.
   
  -  $ret = $obj->inode($newval);
   
  -Note that this method may not be meaningful on all platforms,
  -most notably Win32.
  +
  +=head2 C<inode>
  +
  +Get the inode of the file.
  +
  +  $inode = $finfo->inode;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$inode> ( integer )
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[1]
   
  +Note that this method may not be meaningful on all platforms, most
  +notably Win32.
   
   
  -=head2 C<device>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The id of the device the file is on.
   
  -  $ret = $obj->device($newval);
   
  -Note that this method may not be meaningful on all platforms,
  -most notably Win32.
  +
  +=head2 C<mtime>
  +
  +The time the file was last modified
  +
  +  $mtime = $finfo->mtime;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
  +
  +=item return: C<$mtime> ( integer )
   
  -=item arg1: C<$newval>
  -(number)
  +Last modify time in seconds since the epoch
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
  +
  +  (stat $filename)[9]
  +
   
   
   
   
  -=head2 C<nlink>
   
  -META: Autogenerated - needs to be reviewed/completed
  +=head2 C<name>
   
  -The number of hard links to the file.
  +Get the file's name (no path) in filesystem case:
   
  -  $ret = $obj->nlink($newval);
  +  $name = $finfo->name;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$device> ( string )
   
   =item since: 1.99_12
   
  @@ -299,171 +359,198 @@
   
   
   
  -=head2 C<size>
   
  -META: Autogenerated - needs to be reviewed/completed
  +=head2 C<nlink>
   
  -The size of the file
  +Get the number of hard links to the file.
   
  -  $ret = $obj->size($newval);
  +  $nlink = $finfo->nlink;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$nlink> ( integer )
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[3]
   
   
   
  -=head2 C<csize>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The storage size consumed by the file
   
  -  $ret = $obj->csize($newval);
  +
  +
  +
  +=head2 C<protection>
  +
  +Get the access permissions of the file.  Mimics Unix access rights.
  +
  +  $prot = $finfo->protection;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval> ( integer )
  +=item return: C<$prot> ( C<L<:fileprot
  +constant|docs::2.0::api::APR::Const/C__fileprot_>> )
   
  -=item since: 1.99_12
  +=item since: 1.99_17
   
   =back
   
  +This method returns the same value as Perl's:
  +
  +  (stat $filename)[2]
   
   
   
   
  -=head2 C<atime>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The time the file was last accessed
   
  -  $ret = $obj->atime($newval);
   
  -Note that this method may not be reliable on all platforms,
  -most notably Win32 - FAT32 filesystems appear to work properly
  -but NTFS filesystems do not.
  +=head2 C<size>
  +
  +Get the size of the file
  +
  +  $size = $finfo->size;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
  +
  +=item return: C<$size> ( integer )
   
  -=item arg1: C<$newval>
  -(number)
  +Total size of file, in bytes
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[7]
   
   
   
  -=head2 C<mtime>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The time the file was last modified
   
  -  $ret = $obj->mtime($newval);
   
  -=over 4
  +=head2 C<stat>
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +Get the specified file's stats.
   
  -=item arg1: C<$newval>
  -(number)
  +  $finfo = APR::Finfo::stat($fname, $wanted_fields, $p);
   
  -=item since: 1.99_12
  +=over 4
   
  -=back
  +=item arg1: C<$fname> ( string )
   
  +The path to the file to C<stat()>.
   
  +=item arg2: C<$wanted_fields> ( C<L<:finfo
  +constant|docs::2.0::api::APR::Const/C__finfo_>> )
   
  +The desired fields, as a bitmask flag of
  +C<L<APR::FINFO_*|docs::2.0::api::APR::Const/C__finfo_>> constants.
   
  +Notice that you can also use the constants that already combine
  +several elements in one. For example
  +C<L<APR::FINFO_PROT|docs::2.0::api::APR::Const/C_APR__FINFO_PROT_>>
  +asks for all protection bits,
  +C<L<APR::FINFO_MIN|docs::2.0::api::APR::Const/C_APR__FINFO_MIN_>> asks
  +for the following fields: type, mtime, ctime, atime, size and
  +C<L<APR::FINFO_NORM|docs::2.0::api::APR::Const/C_APR__FINFO_NORM_>>
  +asks for all atomic unix C<apr_stat()> fields (similar to perl's
  +C<stat()>).
   
  -=head2 C<ctime>
  +=item arg3: C<$p> ( C<L<APR::Pool object|docs::2.0::api::APR::Pool>> )
   
  -META: Autogenerated - needs to be reviewed/completed
  +the pool to use to allocate the file stat structure.
   
  -The time the file was last changed
  +=item ret: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -  $ret = $obj->ctime($newval);
  +=item since: 1.99_12
   
  -=over 4
  +=back
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +For example, here is how to get most of the C<stat> fields:
   
  -=item arg1: C<$newval>
  -(number)
  +  use APR::Pool ();
  +  use APR::Finfo ();
  +  use APR::Const -compile => qw(FINFO_NORM);
  +  my $pool = APR::Pool->new();
  +  my $finfo = APR::Finfo::stat("/tmp/test", APR::FINFO_NORM, $pool);
   
  -=item since: 1.99_12
   
  -=back
   
   
   
   
   
  -=head2 C<fname>
   
  -META: Autogenerated - needs to be reviewed/completed
  +=head2 C<user>
   
  -The pathname of the file (possibly unrooted)
  +Get the user id that owns the file:
   
  -  $ret = $obj->fname($newval);
  +  $uid = $finfo->user;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
   
  -=item arg1: C<$newval>
  -( string )
  +=item return: C<$uid> ( number )
   
   =item since: 1.99_12
   
   =back
   
  +This method returns the same value as Perl's:
   
  +  (stat $filename)[4]
  +
  +Note that this method may not be meaningful on all platforms,
  +most notably Win32.
   
   
   
  -=head2 C<name>
   
  -META: Autogenerated - needs to be reviewed/completed
   
  -The file's name (no path) in filesystem case
   
  -  $ret = $obj->name($newval);
  +=head2 C<valid>
  +
  +The bitmask describing valid fields of this apr_finfo_t structure
  +including all available 'wanted' fields and potentially more
  +
  +  $valid = $finfo->valid;
   
   =over 4
   
  -=item obj: C<$obj>
  -( C<L<APR::Finfo|docs::2.0::api::APR::Finfo>> )
  +=item obj: C<$finfo>
  +( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )
  +
  +=item arg1: C<$valid> ( bitmask )
   
  -=item arg1: C<$newval>
  -( string )
  +This bitmask flag should be bit-OR'ed against C<L<:finfo
  +constant|docs::2.0::api::APR::Const/C__finfo_>> constants.
   
   =item since: 1.99_12
   
   =back
  +
   
   
   
  
  
  

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

Reply via email to