⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 finfo.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
# # /*#  * *********** WARNING **************#  * This file generated by ModPerl::WrapXS/0.01#  * Any changes made here will be lost#  * ***********************************#  * 01: lib/ModPerl/Code.pm:708#  * 02: lib/ModPerl/WrapXS.pm:624#  * 03: lib/ModPerl/WrapXS.pm:1173#  * 04: Makefile.PL:423#  * 05: Makefile.PL:325#  * 06: Makefile.PL:56#  */# package APR::Finfo;use strict;use warnings FATAL => 'all';use APR ();use APR::XSLoader ();our $VERSION = '0.009000';APR::XSLoader::load __PACKAGE__;1;__END__=head1 NAMEAPR::Finfo - Perl API for APR fileinfo structure=head1 Synopsis  use APR::Finfo ();  use APR::Const -compile => qw(FINFO_NORM);  my $finfo = APR::Finfo::stat("/tmp/test", APR::Const::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;=head1 DescriptionAPR fileinfo structure provides somewhat similar information to Perl'sC<stat()> call, but you will want to use this module's API to query analready C<stat()'ed> filehandle to avoid an extra system call or toquery attributes specific to APR file handles.During the HTTP request handlers coming afterC<L<PerlMapToStorageHandler|docs::2.0::user::handlers::http/PerlMapToStorageHandler>>,C<L<$r-E<gt>finfo|docs::2.0::api::Apache2::RequestRec/C_finfo_>>already contains the cached values from the apr's C<stat()> call. Soyou don't want to perform it again, but instead get the C<ARP::Finfo>object via:  my $finfo = $r->finfo;=head1 APIC<APR::Finfo> provides the following functions and/or methods:=head2 C<atime>Get the time the file was last accessed:  $atime = $finfo->atime;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$atime> ( integer )Last access time in seconds since the epoch=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[8]Note that this method may not be reliable on all platforms, mostnotably Win32 -- FAT32 filesystems appear to work properly, but NTFSfilesystems do not.=head2 C<csize>Get the storage size consumed by the file  $csize = $finfo->csize;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$csize> ( integer )=item since: 2.0.00=backChances are that you don't want to use this method, since itsfunctionality is not supported on most platforms (in which case italways returns 0).=head2 C<ctime>Get the time the file was last changed  $ctime = $finfo->ctime;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$ctime> ( integer )Inode change time in seconds since the epoch=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[10]The ctime field is non-portable.  In particular, you cannot expect itto be a "creation time", see "Files and Filesystems" in theI<perlport> manpage for details.=head2 C<device>Get the id of the device the file is on.  $device = $finfo->device;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$device> ( integer )=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[0]Note that this method is non-portable. It doesn't work on allplatforms, most notably Win32.=head2 C<filetype>Get the type of file.  $filetype = $finfo->filetype;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$filetype> ( C<L<:filetypeconstant|docs::2.0::api::APR::Const/C__filetype_>> )=item since: 2.0.00=backFor 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::Const::FINFO_NORM, $pool);  my $finfo = $finfo->filetype;  if ($finfo == APR::Const::FILETYPE_REG) {      print "regular file";  }  elsif ($finfo == APR::Const::FILETYPE_REG) {      print "directory";  }  else {      print "other file";  }Since F</tmp> is a directory, this will print:  directory=head2 C<fname>Get the pathname of the file (possibly unrooted)  $fname = $finfo->fname;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$filetype> ( string )=item since: 2.0.00=back=head2 C<group>Get the group id that owns the file:  $gid = $finfo->group;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$gid> ( number )=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[5]Note that this method may not be meaningful on all platforms, mostnotably Win32.  Incorrect results have also been reported on someversions of OSX.=head2 C<inode>Get the inode of the file.  $inode = $finfo->inode;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$inode> ( integer )=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[1]Note that this method may not be meaningful on all platforms, mostnotably Win32.=head2 C<mtime>The time the file was last modified  $mtime = $finfo->mtime;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$mtime> ( integer )Last modify time in seconds since the epoch=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[9]=head2 C<name>Get the file's name (no path) in filesystem case:  $name = $finfo->name;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$device> ( string )=item since: 2.0.00=back=head2 C<nlink>Get the number of hard links to the file.  $nlink = $finfo->nlink;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$nlink> ( integer )=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[3]=head2 C<protection>Get the access permissions of the file.  Mimics Unix access rights.  $prot = $finfo->protection;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$prot> ( C<L<:fprotconstant|docs::2.0::api::APR::Const/C__fprot_>> )=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[2]=head2 C<size>Get the size of the file  $size = $finfo->size;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$size> ( integer )Total size of file, in bytes=item since: 2.0.00=backThis method returns the same value as Perl's:  (stat $filename)[7]=head2 C<stat>Get the specified file's stats.  $finfo = APR::Finfo::stat($fname, $wanted_fields, $p);=over 4=item arg1: C<$fname> ( string )The path to the file to C<stat()>.=item arg2: C<$wanted_fields> ( C<L<:finfoconstant|docs::2.0::api::APR::Const/C__finfo_>> )The desired fields, as a bitmask flag ofC<L<APR::FINFO_*|docs::2.0::api::APR::Const/C__finfo_>> constants.Notice that you can also use the constants that already combineseveral elements in one. For exampleC<L<APR::Const::FINFO_PROT|docs::2.0::api::APR::Const/C_APR__Const__FINFO_PROT_>>asks for all protection bits,C<L<APR::Const::FINFO_MIN|docs::2.0::api::APR::Const/C_APR__Const__FINFO_MIN_>> asksfor the following fields: type, mtime, ctime, atime, size andC<L<APR::Const::FINFO_NORM|docs::2.0::api::APR::Const/C_APR__Const__FINFO_NORM_>>asks for all atomic unix C<apr_stat()> fields (similar to perl'sC<stat()>).=item arg3: C<$p> ( C<L<APR::Pool object|docs::2.0::api::APR::Pool>> )the pool to use to allocate the file stat structure.=item ret: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item since: 2.0.00=backFor example, here is how to get most of the C<stat> fields:  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::Const::FINFO_NORM, $pool);=head2 C<user>Get the user id that owns the file:  $uid = $finfo->user;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item return: C<$uid> ( number )=item since: 2.0.00=backThis 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<valid>The bitmask describing valid fields of this apr_finfo_t structureincluding all available 'wanted' fields and potentially more  $valid = $finfo->valid;=over 4=item obj: C<$finfo>( C<L<APR::Finfo object|docs::2.0::api::APR::Finfo>> )=item arg1: C<$valid> ( bitmask )This bitmask flag should be bit-OR'ed against C<L<:finfoconstant|docs::2.0::api::APR::Const/C__finfo_>> constants.=item since: 2.0.00=back=head1 See AlsoL<mod_perl 2.0 documentation|docs::2.0::index>.=head1 Copyrightmod_perl 2.0 and its core modules are copyrighted underThe Apache Software License, Version 2.0.=head1 AuthorsL<The mod_perl development team and numerouscontributors|about::contributors::people>.=cut

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -