GIF87a; 404

MY HEART




Upload:

Command:

diavoloapp@18.217.185.32: ~ $
#!/usr/bin/perl
    eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
	if $running_under_some_shell;

use warnings;

=head1 NAME

h2xs - convert .h C header files to Perl extensions

=head1 SYNOPSIS

B<h2xs> [B<OPTIONS> ...] [headerfile ... [extra_libraries]]

B<h2xs> B<-h>|B<-?>|B<--help>

=head1 DESCRIPTION

I<h2xs> builds a Perl extension from C header files.  The extension
will include functions which can be used to retrieve the value of any
#define statement which was in the C header files.

The I<module_name> will be used for the name of the extension.  If
module_name is not supplied then the name of the first header file
will be used, with the first character capitalized.

If the extension might need extra libraries, they should be included
here.  The extension Makefile.PL will take care of checking whether
the libraries actually exist and how they should be loaded.  The extra
libraries should be specified in the form -lm -lposix, etc, just as on
the cc command line.  By default, the Makefile.PL will search through
the library path determined by Configure.  That path can be augmented
by including arguments of the form B<-L/another/library/path> in the
extra-libraries argument.

In spite of its name, I<h2xs> may also be used to create a skeleton pure
Perl module. See the B<-X> option.

=head1 OPTIONS

=over 5

=item B<-A>, B<--omit-autoload>

Omit all autoload facilities.  This is the same as B<-c> but also
removes the S<C<use AutoLoader>> statement from the .pm file.

=item B<-B>, B<--beta-version>

Use an alpha/beta style version number.  Causes version number to
be "0.00_01" unless B<-v> is specified.

=item B<-C>, B<--omit-changes>

Omits creation of the F<Changes> file, and adds a HISTORY section to
the POD template.

=item B<-F>, B<--cpp-flags>=I<addflags>

Additional flags to specify to C preprocessor when scanning header for
function declarations.  Writes these options in the generated F<Makefile.PL>
too.

=item B<-M>, B<--func-mask>=I<regular expression>

selects functions/macros to process.

=item B<-O>, B<--overwrite-ok>

Allows a pre-existing extension directory to be overwritten.

=item B<-P>, B<--omit-pod>

Omit the autogenerated stub POD section.

=item B<-X>, B<--omit-XS>

Omit the XS portion. Used to generate a skeleton pure Perl module.
C<-c> and C<-f> are implicitly enabled.

=item B<-a>, B<--gen-accessors>

Generate an accessor method for each element of structs and unions. The
generated methods are named after the element name; will return the current
value of the element if called without additional arguments; and will set
the element to the supplied value (and return the new value) if called with
an additional argument. Embedded structures and unions are returned as a
pointer rather than the complete structure, to facilitate chained calls.

These methods all apply to the Ptr type for the structure; additionally
two methods are constructed for the structure type itself, C<_to_ptr>
which returns a Ptr type pointing to the same structure, and a C<new>
method to construct and return a new structure, initialised to zeroes.

=item B<-b>, B<--compat-version>=I<version>

Generates a .pm file which is backwards compatible with the specified
perl version.

For versions < 5.6.0, the changes are.
    - no use of 'our' (uses 'use vars' instead)
    - no 'use warnings'

Specifying a compatibility version higher than the version of perl you
are using to run h2xs will have no effect.  If unspecified h2xs will default
to compatibility with the version of perl you are using to run h2xs.

=item B<-c>, B<--omit-constant>

Omit C<constant()> from the .xs file and corresponding specialised
C<AUTOLOAD> from the .pm file.

=item B<-d>, B<--debugging>

Turn on debugging messages.

=item B<-e>, B<--omit-enums>=[I<regular expression>]

If I<regular expression> is not given, skip all constants that are defined in
a C enumeration. Otherwise skip only those constants that are defined in an
enum whose name matches I<regular expression>.

Since I<regular expression> is optional, make sure that this switch is followed
by at least one other switch if you omit I<regular expression> and have some
pending arguments such as header-file names. This is ok:

    h2xs -e -n Module::Foo foo.h

This is not ok:

    h2xs -n Module::Foo -e foo.h

In the latter, foo.h is taken as I<regular expression>.

=item B<-f>, B<--force>

Allows an extension to be created for a header even if that header is
not found in standard include directories.

=item B<-g>, B<--global>

Include code for safely storing static data in the .xs file.
Extensions that do no make use of static data can ignore this option.

=item B<-h>, B<-?>, B<--help>

Print the usage, help and version for this h2xs and exit.

=item B<-k>, B<--omit-const-func>

For function arguments declared as C<const>, omit the const attribute in the
generated XS code.

=item B<-m>, B<--gen-tied-var>

B<Experimental>: for each variable declared in the header file(s), declare
a perl variable of the same name magically tied to the C variable.

=item B<-n>, B<--name>=I<module_name>

Specifies a name to be used for the extension, e.g., S<-n RPC::DCE>

=item B<-o>, B<--opaque-re>=I<regular expression>

Use "opaque" data type for the C types matched by the regular
expression, even if these types are C<typedef>-equivalent to types
from typemaps.  Should not be used without B<-x>.

This may be useful since, say, types which are C<typedef>-equivalent
to integers may represent OS-related handles, and one may want to work
with these handles in OO-way, as in C<$handle-E<gt>do_something()>.
Use C<-o .> if you want to handle all the C<typedef>ed types as opaque
types.

The type-to-match is whitewashed (except for commas, which have no
whitespace before them, and multiple C<*> which have no whitespace
between them).

=item B<-p>, B<--remove-prefix>=I<prefix>

Specify a prefix which should be removed from the Perl function names,
e.g., S<-p sec_rgy_> This sets up the XS B<PREFIX> keyword and removes
the prefix from functions that are autoloaded via the C<constant()>
mechanism.

=item B<-s>, B<--const-subs>=I<sub1,sub2>

Create a perl subroutine for the specified macros rather than autoload
with the constant() subroutine.  These macros are assumed to have a
return type of B<char *>, e.g.,
S<-s sec_rgy_wildcard_name,sec_rgy_wildcard_sid>.

=item B<-t>, B<--default-type>=I<type>

Specify the internal type that the constant() mechanism uses for macros.
The default is IV (signed integer).  Currently all macros found during the
header scanning process will be assumed to have this type.  Future versions
of C<h2xs> may gain the ability to make educated guesses.

=item B<--use-new-tests>

When B<--compat-version> (B<-b>) is present the generated tests will use
C<Test::More> rather than C<Test> which is the default for versions before
5.6.2.  C<Test::More> will be added to PREREQ_PM in the generated
C<Makefile.PL>.

=item B<--use-old-tests>

Will force the generation of test code that uses the older C<Test> module.

=item B<--skip-exporter>

Do not use C<Exporter> and/or export any symbol.

=item B<--skip-ppport>

Do not use C<Devel::PPPort>: no portability to older version.

=item B<--skip-autoloader>

Do not use the module C<AutoLoader>; but keep the constant() function
and C<sub AUTOLOAD> for constants.

=item B<--skip-strict>

Do not use the pragma C<strict>.

=item B<--skip-warnings>

Do not use the pragma C<warnings>.

=item B<-v>, B<--version>=I<version>

Specify a version number for this extension.  This version number is added
to the templates.  The default is 0.01, or 0.00_01 if C<-B> is specified.
The version specified should be numeric.

=item B<-x>, B<--autogen-xsubs>

Automatically generate XSUBs basing on function declarations in the
header file.  The package C<C::Scan> should be installed. If this
option is specified, the name of the header file may look like
C<NAME1,NAME2>. In this case NAME1 is used instead of the specified
string, but XSUBs are emitted only for the declarations included from
file NAME2.

Note that some types of arguments/return-values for functions may
result in XSUB-declarations/typemap-entries which need
hand-editing. Such may be objects which cannot be converted from/to a
pointer (like C<long long>), pointers to functions, or arrays.  See
also the section on L<LIMITATIONS of B<-x>>.

=back

=head1 EXAMPLES


    # Default behavior, extension is Rusers
    h2xs rpcsvc/rusers

    # Same, but extension is RUSERS
    h2xs -n RUSERS rpcsvc/rusers

    # Extension is rpcsvc::rusers. Still finds <rpcsvc/rusers.h>
    h2xs rpcsvc::rusers

    # Extension is ONC::RPC.  Still finds <rpcsvc/rusers.h>
    h2xs -n ONC::RPC rpcsvc/rusers

    # Without constant() or AUTOLOAD
    h2xs -c rpcsvc/rusers

    # Creates templates for an extension named RPC
    h2xs -cfn RPC

    # Extension is ONC::RPC.
    h2xs -cfn ONC::RPC

    # Extension is a pure Perl module with no XS code.
    h2xs -X My::Module

    # Extension is Lib::Foo which works at least with Perl5.005_03.
    # Constants are created for all #defines and enums h2xs can find
    # in foo.h.
    h2xs -b 5.5.3 -n Lib::Foo foo.h

    # Extension is Lib::Foo which works at least with Perl5.005_03.
    # Constants are created for all #defines but only for enums
    # whose names do not start with 'bar_'.
    h2xs -b 5.5.3 -e '^bar_' -n Lib::Foo foo.h

    # Makefile.PL will look for library -lrpc in
    # additional directory /opt/net/lib
    h2xs rpcsvc/rusers -L/opt/net/lib -lrpc

    # Extension is DCE::rgynbase
    # prefix "sec_rgy_" is dropped from perl function names
    h2xs -n DCE::rgynbase -p sec_rgy_ dce/rgynbase

    # Extension is DCE::rgynbase
    # prefix "sec_rgy_" is dropped from perl function names
    # subroutines are created for sec_rgy_wildcard_name and
    # sec_rgy_wildcard_sid
    h2xs -n DCE::rgynbase -p sec_rgy_ \
    -s sec_rgy_wildcard_name,sec_rgy_wildcard_sid dce/rgynbase

    # Make XS without defines in perl.h, but with function declarations
    # visible from perl.h. Name of the extension is perl1.
    # When scanning perl.h, define -DEXT=extern -DdEXT= -DINIT(x)=
    # Extra backslashes below because the string is passed to shell.
    # Note that a directory with perl header files would
    #  be added automatically to include path.
    h2xs -xAn perl1 -F "-DEXT=extern -DdEXT= -DINIT\(x\)=" perl.h

    # Same with function declaration in proto.h as visible from perl.h.
    h2xs -xAn perl2 perl.h,proto.h

    # Same but select only functions which match /^av_/
    h2xs -M '^av_' -xAn perl2 perl.h,proto.h

    # Same but treat SV* etc as "opaque" types
    h2xs -o '^[S]V \*$' -M '^av_' -xAn perl2 perl.h,proto.h

=head2 Extension based on F<.h> and F<.c> files

Suppose that you have some C files implementing some functionality,
and the corresponding header files.  How to create an extension which
makes this functionality accessible in Perl?  The example below
assumes that the header files are F<interface_simple.h> and
I<interface_hairy.h>, and you want the perl module be named as
C<Ext::Ension>.  If you need some preprocessor directives and/or
linking with external libraries, see the flags C<-F>, C<-L> and C<-l>
in L<"OPTIONS">.

=over

=item Find the directory name

Start with a dummy run of h2xs:

  h2xs -Afn Ext::Ension

The only purpose of this step is to create the needed directories, and
let you know the names of these directories.  From the output you can
see that the directory for the extension is F<Ext/Ension>.

=item Copy C files

Copy your header files and C files to this directory F<Ext/Ension>.

=item Create the extension

Run h2xs, overwriting older autogenerated files:

  h2xs -Oxan Ext::Ension interface_simple.h interface_hairy.h

h2xs looks for header files I<after> changing to the extension
directory, so it will find your header files OK.

=item Archive and test

As usual, run

  cd Ext/Ension
  perl Makefile.PL
  make dist
  make
  make test

=item Hints

It is important to do C<make dist> as early as possible.  This way you
can easily merge(1) your changes to autogenerated files if you decide
to edit your C<.h> files and rerun h2xs.

Do not forget to edit the documentation in the generated F<.pm> file.

Consider the autogenerated files as skeletons only, you may invent
better interfaces than what h2xs could guess.

Consider this section as a guideline only, some other options of h2xs
may better suit your needs.

=back

=head1 ENVIRONMENT

No environment variables are used.

=head1 AUTHOR

Larry Wall and others

=head1 SEE ALSO

L<perl>, L<perlxstut>, L<ExtUtils::MakeMaker>, and L<AutoLoader>.

=head1 DIAGNOSTICS

The usual warnings if it cannot read or write the files involved.

=head1 LIMITATIONS of B<-x>

F<h2xs> would not distinguish whether an argument to a C function
which is of the form, say, C<int *>, is an input, output, or
input/output parameter.  In particular, argument declarations of the
form

    int
    foo(n)
	int *n

should be better rewritten as

    int
    foo(n)
	int &n

if C<n> is an input parameter.

Additionally, F<h2xs> has no facilities to intuit that a function

   int
   foo(addr,l)
	char *addr
	int   l

takes a pair of address and length of data at this address, so it is better
to rewrite this function as

    int
    foo(sv)
	    SV *addr
	PREINIT:
	    STRLEN len;
	    char *s;
	CODE:
	    s = SvPV(sv,len);
	    RETVAL = foo(s, len);
	OUTPUT:
	    RETVAL

or alternately

    static int
    my_foo(SV *sv)
    {
	STRLEN len;
	char *s = SvPV(sv,len);

	return foo(s, len);
    }

    MODULE = foo	PACKAGE = foo	PREFIX = my_

    int
    foo(sv)
	SV *sv

See L<perlxs> and L<perlxstut> for additional details.

=cut

# ' # Grr
use strict;


my( $H2XS_VERSION ) = ' $Revision: 1.23 $ ' =~ /\$Revision:\s+([^\s]+)/;
my $TEMPLATE_VERSION = '0.01';
my @ARGS = @ARGV;
my $compat_version = $];

use Getopt::Long;
use Config;
use Text::Wrap;
$Text::Wrap::huge = 'overflow';
$Text::Wrap::columns = 80;
use ExtUtils::Constant qw (WriteConstants WriteMakefileSnippet autoload);
use File::Compare;
use File::Path;

sub usage {
    warn "@_\n" if @_;
    die <<EOFUSAGE;
h2xs [OPTIONS ... ] [headerfile [extra_libraries]]
version: $H2XS_VERSION
OPTIONS:
    -A, --omit-autoload   Omit all autoloading facilities (implies -c).
    -B, --beta-version    Use beta \$VERSION of 0.00_01 (ignored if -v).
    -C, --omit-changes    Omit creating the Changes file, add HISTORY heading
                          to stub POD.
    -F, --cpp-flags       Additional flags for C preprocessor/compile.
    -M, --func-mask       Mask to select C functions/macros
                          (default is select all).
    -O, --overwrite-ok    Allow overwriting of a pre-existing extension directory.
    -P, --omit-pod        Omit the stub POD section.
    -X, --omit-XS         Omit the XS portion (implies both -c and -f).
    -a, --gen-accessors   Generate get/set accessors for struct and union members
                          (used with -x).
    -b, --compat-version  Specify a perl version to be backwards compatible with.
    -c, --omit-constant   Omit the constant() function and specialised AUTOLOAD
                          from the XS file.
    -d, --debugging       Turn on debugging messages.
    -e, --omit-enums      Omit constants from enums in the constant() function.
                          If a pattern is given, only the matching enums are
                          ignored.
    -f, --force           Force creation of the extension even if the C header
                          does not exist.
    -g, --global          Include code for safely storing static data in the .xs file.
    -h, -?, --help        Display this help message.
    -k, --omit-const-func Omit 'const' attribute on function arguments
                          (used with -x).
    -m, --gen-tied-var    Generate tied variables for access to declared
                          variables.
    -n, --name            Specify a name to use for the extension (recommended).
    -o, --opaque-re       Regular expression for \"opaque\" types.
    -p, --remove-prefix   Specify a prefix which should be removed from the
                          Perl function names.
    -s, --const-subs      Create subroutines for specified macros.
    -t, --default-type    Default type for autoloaded constants (default is IV).
        --use-new-tests   Use Test::More in backward compatible modules.
        --use-old-tests   Use the module Test rather than Test::More.
        --skip-exporter   Do not export symbols.
        --skip-ppport     Do not use portability layer.
        --skip-autoloader Do not use the module C<AutoLoader>.
        --skip-strict     Do not use the pragma C<strict>.
        --skip-warnings   Do not use the pragma C<warnings>.
    -v, --version         Specify a version number for this extension.
    -x, --autogen-xsubs   Autogenerate XSUBs using C::Scan.
        --use-xsloader    Use XSLoader in backward compatible modules (ignored
                          when used with -X).

extra_libraries
         are any libraries that might be needed for loading the
         extension, e.g. -lm would try to link in the math library.
EOFUSAGE
}

my ($opt_A,
    $opt_B,
    $opt_C,
    $opt_F,
    $opt_M,
    $opt_O,
    $opt_P,
    $opt_X,
    $opt_a,
    $opt_c,
    $opt_d,
    $opt_e,
    $opt_f,
    $opt_g,
    $opt_h,
    $opt_k,
    $opt_m,
    $opt_n,
    $opt_o,
    $opt_p,
    $opt_s,
    $opt_v,
    $opt_x,
    $opt_b,
    $opt_t,
    $new_test,
    $old_test,
    $skip_exporter,
    $skip_ppport,
    $skip_autoloader,
    $skip_strict,
    $skip_warnings,
    $use_xsloader
   );

Getopt::Long::Configure('bundling');
Getopt::Long::Configure('pass_through');

my %options = (
                'omit-autoload|A'    => \$opt_A,
                'beta-version|B'     => \$opt_B,
                'omit-changes|C'     => \$opt_C,
                'cpp-flags|F=s'      => \$opt_F,
                'func-mask|M=s'      => \$opt_M,
                'overwrite_ok|O'     => \$opt_O,
                'omit-pod|P'         => \$opt_P,
                'omit-XS|X'          => \$opt_X,
                'gen-accessors|a'    => \$opt_a,
                'compat-version|b=s' => \$opt_b,
                'omit-constant|c'    => \$opt_c,
                'debugging|d'        => \$opt_d,
                'omit-enums|e:s'     => \$opt_e,
                'force|f'            => \$opt_f,
                'global|g'           => \$opt_g,
                'help|h|?'           => \$opt_h,
                'omit-const-func|k'  => \$opt_k,
                'gen-tied-var|m'     => \$opt_m,
                'name|n=s'           => \$opt_n,
                'opaque-re|o=s'      => \$opt_o,
                'remove-prefix|p=s'  => \$opt_p,
                'const-subs|s=s'     => \$opt_s,
                'default-type|t=s'   => \$opt_t,
                'version|v=s'        => \$opt_v,
                'autogen-xsubs|x'    => \$opt_x,
                'use-new-tests'      => \$new_test,
                'use-old-tests'      => \$old_test,
                'skip-exporter'      => \$skip_exporter,
                'skip-ppport'        => \$skip_ppport,
                'skip-autoloader'    => \$skip_autoloader,
                'skip-warnings'      => \$skip_warnings,
                'skip-strict'        => \$skip_strict,
                'use-xsloader'       => \$use_xsloader,
              );

GetOptions(%options) || usage;

usage if $opt_h;

if( $opt_b ){
    usage "You cannot use -b and -m at the same time.\n" if ($opt_b && $opt_m);
    $opt_b =~ /^v?(\d+)\.(\d+)\.(\d+)/ ||
    usage "You must provide the backwards compatibility version in X.Y.Z form. "
          .  "(i.e. 5.5.0)\n";
    my ($maj,$min,$sub) = ($1,$2,$3);
    if ($maj < 5 || ($maj == 5 && $min < 6)) {
        $compat_version =
	    $sub ? sprintf("%d.%03d%02d",$maj,$min,$sub) :
	           sprintf("%d.%03d",    $maj,$min);
    } else {
        $compat_version = sprintf("%d.%03d%03d",$maj,$min,$sub);
    }
} else {
    my ($maj,$min,$sub) = $compat_version =~ /(\d+)\.(\d\d\d)(\d*)/;
    $sub ||= 0;
    warn sprintf <<'EOF', $maj,$min,$sub;
Defaulting to backwards compatibility with perl %d.%d.%d
If you intend this module to be compatible with earlier perl versions, please
specify a minimum perl version with the -b option.

EOF
}

if( $opt_B ){
    $TEMPLATE_VERSION = '0.00_01';
}

if( $opt_v ){
	$TEMPLATE_VERSION = $opt_v;

    # check if it is numeric
    my $temp_version = $TEMPLATE_VERSION;
    my $beta_version = $temp_version =~ s/(\d)_(\d\d)/$1$2/;
    my $notnum;
    {
        local $SIG{__WARN__} = sub { $notnum = 1 };
        use warnings 'numeric';
        $temp_version = 0+$temp_version;
    }

    if ($notnum) {
        my $module = $opt_n || 'Your::Module';
        warn <<"EOF";
You have specified a non-numeric version.  Unless you supply an
appropriate VERSION class method, users may not be able to specify a
minimum required version with C<use $module versionnum>.

EOF
    }
    else {
        $opt_B = $beta_version;
    }
}

# -A implies -c.
$skip_autoloader = $opt_c = 1 if $opt_A;

# -X implies -c and -f
$opt_c = $opt_f = 1 if $opt_X;

$opt_t ||= 'IV';

my %const_xsub;
%const_xsub = map { $_,1 } split(/,+/, $opt_s) if $opt_s;

my $extralibs = '';

my @path_h;

while (my $arg = shift) {
    if ($arg =~ /^-l/i) {
        $extralibs .= "$arg ";
        next;
    }
    last if $extralibs;
    push(@path_h, $arg);
}

usage "Must supply header file or module name\n"
        unless (@path_h or $opt_n);

my $fmask;
my $tmask;

$fmask = qr{$opt_M} if defined $opt_M;
$tmask = qr{$opt_o} if defined $opt_o;
my $tmask_all = $tmask && $opt_o eq '.';

if ($opt_x) {
  eval {require C::Scan; 1}
    or die <<EOD;
C::Scan required if you use -x option.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  unless ($tmask_all) {
    $C::Scan::VERSION >= 0.70
      or die <<EOD;
C::Scan v. 0.70 or later required unless you use -o . option.
You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  }
  if (($opt_m || $opt_a) && $C::Scan::VERSION < 0.73) {
    die <<EOD;
C::Scan v. 0.73 or later required to use -m or -a options.
You have version $C::Scan::VERSION installed as $INC{'C/Scan.pm'}.
To install C::Scan, execute
   perl -MCPAN -e "install C::Scan"
EOD
  }
}
elsif ($opt_o or $opt_F) {
  warn <<EOD if $opt_o;
Option -o does not make sense without -x.
EOD
  warn <<EOD if $opt_F and $opt_X ;
Option -F does not make sense with -X.
EOD
}

my @path_h_ini = @path_h;
my ($name, %fullpath, %prefix, %seen_define, %prefixless, %const_names);

my $module = $opt_n;

if( @path_h ){
    use File::Spec;
    my @paths;
    my $pre_sub_tri_graphs = 1;
    if ($^O eq 'VMS') {  # Consider overrides of default location
      # XXXX This is not equivalent to what the older version did:
      #		it was looking at $hadsys header-file per header-file...
      my($hadsys) = grep s!^sys/!!i , @path_h;
      @paths = qw( Sys$Library VAXC$Include );
      push @paths, ($hadsys ? 'GNU_CC_Include[vms]' : 'GNU_CC_Include[000000]');
      push @paths, qw( DECC$Library_Include DECC$System_Include );
    }
    else {
      @paths = (File::Spec->curdir(), $Config{usrinc},
		(split / +/, $Config{locincpth} // ""), '/usr/include');
    }
    foreach my $path_h (@path_h) {
        $name ||= $path_h;
    $module ||= do {
      $name =~ s/\.h$//;
      if ( $name !~ /::/ ) {
	$name =~ s#^.*/##;
	$name = "\u$name";
      }
      $name;
    };

    if( $path_h =~ s#::#/#g && $opt_n ){
	warn "Nesting of headerfile ignored with -n\n";
    }
    $path_h .= ".h" unless $path_h =~ /\.h$/;
    my $fullpath = $path_h;
    $path_h =~ s/,.*$// if $opt_x;
    $fullpath{$path_h} = $fullpath;

    # Minor trickery: we can't chdir() before we processed the headers
    # (so know the name of the extension), but the header may be in the
    # extension directory...
    my $tmp_path_h = $path_h;
    my $rel_path_h = $path_h;
    my @dirs = @paths;
    if (not -f $path_h) {
      my $found;
      for my $dir (@paths) {
	$found++, last
	  if -f ($path_h = File::Spec->catfile($dir, $tmp_path_h));
      }
      if ($found) {
	$rel_path_h = $path_h;
	$fullpath{$path_h} = $fullpath;
      } else {
	(my $epath = $module) =~ s,::,/,g;
	$epath = File::Spec->catdir('ext', $epath) if -d 'ext';
	$rel_path_h = File::Spec->catfile($epath, $tmp_path_h);
	$path_h = $tmp_path_h;	# Used during -x
	push @dirs, $epath;
      }
    }

    if (!$opt_c) {
      die "Can't find $tmp_path_h in @dirs\n"
	if ( ! $opt_f && ! -f "$rel_path_h" );
      # Scan the header file (we should deal with nested header files)
      # Record the names of simple #define constants into const_names
            # Function prototypes are processed below.
      open(CH, "<$rel_path_h") || die "Can't open $rel_path_h: $!\n";
    defines:
      while (<CH>) {
	if ($pre_sub_tri_graphs) {
	    # Preprocess all tri-graphs
	    # including things stuck in quoted string constants.
	    s/\?\?=/#/g;                         # | ??=|  #|
	    s/\?\?\!/|/g;                        # | ??!|  ||
	    s/\?\?'/^/g;                         # | ??'|  ^|
	    s/\?\?\(/[/g;                        # | ??(|  [|
	    s/\?\?\)/]/g;                        # | ??)|  ]|
	    s/\?\?\-/~/g;                        # | ??-|  ~|
	    s/\?\?\//\\/g;                       # | ??/|  \|
	    s/\?\?</{/g;                         # | ??<|  {|
	    s/\?\?>/}/g;                         # | ??>|  }|
	}
	if (/^[ \t]*#[ \t]*define\s+([\$\w]+)\b(?!\()\s*(?=[^"\s])(.*)/) {
	    my $def = $1;
	    my $rest = $2;
	    $rest =~ s!/\*.*?(\*/|\n)|//.*!!g; # Remove comments
	    $rest =~ s/^\s+//;
	    $rest =~ s/\s+$//;
	    # Cannot do: (-1) and ((LHANDLE)3) are OK:
	    #print("Skip non-wordy $def => $rest\n"),
	    #  next defines if $rest =~ /[^\w\$]/;
	    if ($rest =~ /"/) {
	      print("Skip stringy $def => $rest\n") if $opt_d;
	      next defines;
	    }
	    print "Matched $_ ($def)\n" if $opt_d;
	    $seen_define{$def} = $rest;
	    $_ = $def;
	    next if /^_.*_h_*$/i; # special case, but for what?
	    if (defined $opt_p) {
	      if (!/^$opt_p(\d)/) {
		++$prefix{$_} if s/^$opt_p//;
	      }
	      else {
		warn "can't remove $opt_p prefix from '$_'!\n";
	      }
	    }
	    $prefixless{$def} = $_;
	    if (!$fmask or /$fmask/) {
		print "... Passes mask of -M.\n" if $opt_d and $fmask;
		$const_names{$_}++;
	    }
	  }
      }
      if (defined $opt_e and !$opt_e) {
        close(CH);
      }
      else {
	# Work from miniperl too - on "normal" systems
        my $SEEK_SET = eval 'use Fcntl qw/SEEK_SET/; SEEK_SET' || 0;
        seek CH, 0, $SEEK_SET;
        my $src = do { local $/; <CH> };
        close CH;
        no warnings 'uninitialized';

        # Remove C and C++ comments
        $src =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#$2#gs;
        $src =~ s#//.*$##gm;

	while ($src =~ /\benum\s*([\w_]*)\s*\{\s([^}]+)\}/gsc) {
	    my ($enum_name, $enum_body) = ($1, $2);
            # skip enums matching $opt_e
            next if $opt_e && $enum_name =~ /$opt_e/;
            my $val = 0;
            for my $item (split /,/, $enum_body) {
                next if $item =~ /\A\s*\Z/;
                my ($key, $declared_val) = $item =~ /(\w+)\s*(?:=\s*(.*))?/;
                $val = defined($declared_val) && length($declared_val) ? $declared_val : 1 + $val;
                $seen_define{$key} = $val;
                $const_names{$key} = { name => $key, macro => 1 };
            }
        } # while (...)
      } # if (!defined $opt_e or $opt_e)
    }
    }
}

# Save current directory so that C::Scan can use it
my $cwd = File::Spec->rel2abs( File::Spec->curdir );

# As Ilya suggested, use a name that contains - and then it can't clash with
# the names of any packages. A directory 'fallback' will clash with any
# new pragmata down the fallback:: tree, but that seems unlikely.
my $constscfname = 'const-c.inc';
my $constsxsfname = 'const-xs.inc';
my $fallbackdirname = 'fallback';

my $ext = chdir 'ext' ? 'ext/' : '';

my @modparts  = split(/::/,$module);
my $modpname  = join('-', @modparts);
my $modfname  = pop @modparts;
my $modpmdir  = join '/', 'lib', @modparts;
my $modpmname = join '/', $modpmdir, $modfname.'.pm';

if ($opt_O) {
	warn "Overwriting existing $ext$modpname!!!\n" if -e $modpname;
}
else {
	die "Won't overwrite existing $ext$modpname\n" if -e $modpname;
}
-d "$modpname"   || mkpath([$modpname], 0, 0775);
chdir($modpname) || die "Can't chdir $ext$modpname: $!\n";

my %types_seen;
my %std_types;
my $fdecls = [];
my $fdecls_parsed = [];
my $typedef_rex;
my %typedefs_pre;
my %known_fnames;
my %structs;

my @fnames;
my @fnames_no_prefix;
my %vdecl_hash;
my @vdecls;

if( ! $opt_X ){  # use XS, unless it was disabled
  unless ($skip_ppport) {
    require Devel::PPPort;
    warn "Writing $ext$modpname/ppport.h\n";
    Devel::PPPort::WriteFile('ppport.h')
        || die "Can't create $ext$modpname/ppport.h: $!\n";
  }
  open(XS, ">$modfname.xs") || die "Can't create $ext$modpname/$modfname.xs: $!\n";
  if ($opt_x) {
    warn "Scanning typemaps...\n";
    get_typemap();
    my @td;
    my @good_td;
    my $addflags = $opt_F || '';

    foreach my $filename (@path_h) {
      my $c;
      my $filter;

      if ($fullpath{$filename} =~ /,/) {
	$filename = $`;
	$filter = $';
      }
      warn "Scanning $filename for functions...\n";
      my @styles = $Config{gccversion} ? qw(C++ C9X GNU) : qw(C++ C9X);
      $c = new C::Scan 'filename' => $filename, 'filename_filter' => $filter,
	'add_cppflags' => $addflags, 'c_styles' => \@styles;
      $c->set('includeDirs' => ["$Config::Config{archlib}/CORE", $cwd]);

      $c->get('keywords')->{'__restrict'} = 1;

      push @$fdecls_parsed, @{ $c->get('parsed_fdecls') };
      push(@$fdecls, @{$c->get('fdecls')});

      push @td, @{$c->get('typedefs_maybe')};
      if ($opt_a) {
	my $structs = $c->get('typedef_structs');
	@structs{keys %$structs} = values %$structs;
      }

      if ($opt_m) {
	%vdecl_hash = %{ $c->get('vdecl_hash') };
	@vdecls = sort keys %vdecl_hash;
	for (local $_ = 0; $_ < @vdecls; ++$_) {
	  my $var = $vdecls[$_];
	  my($type, $post) = @{ $vdecl_hash{$var} };
	  if (defined $post) {
	    warn "Can't handle variable '$type $var $post', skipping.\n";
	    splice @vdecls, $_, 1;
	    redo;
	  }
	  $type = normalize_type($type);
	  $vdecl_hash{$var} = $type;
	}
      }

      unless ($tmask_all) {
	warn "Scanning $filename for typedefs...\n";
	my $td = $c->get('typedef_hash');
	# eval {require 'dumpvar.pl'; ::dumpValue($td)} or warn $@ if $opt_d;
	my @f_good_td = grep $td->{$_}[1] eq '', keys %$td;
	push @good_td, @f_good_td;
	@typedefs_pre{@f_good_td}  = map $_->[0], @$td{@f_good_td};
      }
    }
    { local $" = '|';
      $typedef_rex = qr(\b(?<!struct )(?:@good_td)\b) if @good_td;
    }
    %known_fnames = map @$_[1,3], @$fdecls_parsed; # [1,3] is NAME, FULLTEXT
    if ($fmask) {
      my @good;
      for my $i (0..$#$fdecls_parsed) {
	next unless $fdecls_parsed->[$i][1] =~ /$fmask/; # [1] is NAME
	push @good, $i;
	print "... Function $fdecls_parsed->[$i][1] passes -M mask.\n"
	  if $opt_d;
      }
      $fdecls = [@$fdecls[@good]];
      $fdecls_parsed = [@$fdecls_parsed[@good]];
    }
    @fnames = sort map $_->[1], @$fdecls_parsed; # 1 is NAME
    # Sort declarations:
    {
      my %h = map( ($_->[1], $_), @$fdecls_parsed);
      $fdecls_parsed = [ @h{@fnames} ];
    }
    @fnames_no_prefix = @fnames;
    @fnames_no_prefix
      = sort map { ++$prefix{$_} if s/^$opt_p(?!\d)//; $_ } @fnames_no_prefix
         if defined $opt_p;
    # Remove macros which expand to typedefs
    print "Typedefs are @td.\n" if $opt_d;
    my %td = map {($_, $_)} @td;
    # Add some other possible but meaningless values for macros
    for my $k (qw(char double float int long short unsigned signed void)) {
      $td{"$_$k"} = "$_$k" for ('', 'signed ', 'unsigned ');
    }
    # eval {require 'dumpvar.pl'; ::dumpValue( [\@td, \%td] ); 1} or warn $@;
    my $n = 0;
    my %bad_macs;
    while (keys %td > $n) {
      $n = keys %td;
      my ($k, $v);
      while (($k, $v) = each %seen_define) {
	# print("found '$k'=>'$v'\n"),
	$bad_macs{$k} = $td{$k} = $td{$v} if exists $td{$v};
      }
    }
    # Now %bad_macs contains names of bad macros
    for my $k (keys %bad_macs) {
      delete $const_names{$prefixless{$k}};
      print "Ignoring macro $k which expands to a typedef name '$bad_macs{$k}'\n" if $opt_d;
    }
  }
}
my (@const_specs, @const_names);

for (sort(keys(%const_names))) {
    my $v = $const_names{$_};
    
    push(@const_specs, ref($v) ? $v : $_);
    push(@const_names, $_);
}

-d $modpmdir || mkpath([$modpmdir], 0, 0775);
open(PM, ">$modpmname") || die "Can't create $ext$modpname/$modpmname: $!\n";

$" = "\n\t";
warn "Writing $ext$modpname/$modpmname\n";

print PM <<"END";
package $module;

use $compat_version;
END

print PM <<"END" unless $skip_strict;
use strict;
END

print PM "use warnings;\n" unless $skip_warnings or $compat_version < 5.006;

unless( $opt_X || $opt_c || $opt_A ){
	# we'll have an AUTOLOAD(), and it will have $AUTOLOAD and
	# will want Carp.
	print PM <<'END';
use Carp;
END
}

print PM <<'END' unless $skip_exporter;

require Exporter;
END

my $use_Dyna = (not $opt_X and $compat_version < 5.006 and not $use_xsloader);
print PM <<"END" if $use_Dyna;  # use DynaLoader, unless XS was disabled
require DynaLoader;
END


# Are we using AutoLoader or not?
unless ($skip_autoloader) { # no autoloader whatsoever.
	unless ($opt_c) { # we're doing the AUTOLOAD
		print PM "use AutoLoader;\n";
	}
	else {
		print PM "use AutoLoader qw(AUTOLOAD);\n"
	}
}

if ( $compat_version < 5.006 ) {
    my $vars = '$VERSION @ISA';
    $vars .= ' @EXPORT @EXPORT_OK %EXPORT_TAGS' unless $skip_exporter;
    $vars .= ' $AUTOLOAD' unless $opt_X || $opt_c || $opt_A;
    $vars .= ' $XS_VERSION' if $opt_B && !$opt_X;
    print PM "use vars qw($vars);";
}

# Determine @ISA.
my @modISA;
push @modISA, 'Exporter'	unless $skip_exporter;
push @modISA, 'DynaLoader' 	if $use_Dyna;  # no XS
my $myISA = "our \@ISA = qw(@modISA);";
$myISA =~ s/^our // if $compat_version < 5.006;

print PM "\n$myISA\n\n";

my @exported_names = (@const_names, @fnames_no_prefix, map '$'.$_, @vdecls);

my $tmp='';
$tmp .= <<"END" unless $skip_exporter;
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration	use $module ':all';
# If you do not need this, moving things directly into \@EXPORT or \@EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
	@exported_names
) ] );

our \@EXPORT_OK = ( \@{ \$EXPORT_TAGS{'all'} } );

our \@EXPORT = qw(
	@const_names
);

END

$tmp .= "our \$VERSION = '$TEMPLATE_VERSION';\n";
if ($opt_B) {
    $tmp .= "our \$XS_VERSION = \$VERSION;\n" unless $opt_X;
    $tmp .= "\$VERSION = eval \$VERSION;  # see L<perlmodstyle>\n";
}
$tmp .= "\n";

$tmp =~ s/^our //mg if $compat_version < 5.006;
print PM $tmp;

if (@vdecls) {
    printf PM "our(@{[ join ', ', map '$'.$_, @vdecls ]});\n\n";
}


print PM autoload ($module, $compat_version) unless $opt_c or $opt_X;

if( ! $opt_X ){ # print bootstrap, unless XS is disabled
  if ($use_Dyna) {
	$tmp = <<"END";
bootstrap $module \$VERSION;
END
  } else {
	$tmp = <<"END";
require XSLoader;
XSLoader::load('$module', \$VERSION);
END
  }
  $tmp =~ s:\$VERSION:\$XS_VERSION:g if $opt_B;
  print PM $tmp;
}

# tying the variables can happen only after bootstrap
if (@vdecls) {
    printf PM <<END;
{
@{[ join "\n", map "    _tievar_$_(\$$_);", @vdecls ]}
}

END
}

my $after;
if( $opt_P ){ # if POD is disabled
	$after = '__END__';
}
else {
	$after = '=cut';
}

print PM <<"END";

# Preloaded methods go here.
END

print PM <<"END" unless $opt_A;

# Autoload methods go after $after, and are processed by the autosplit program.
END

print PM <<"END";

1;
__END__
END

my ($email,$author,$licence);

eval {
       my $username;
       ($username,$author) = (getpwuid($>))[0,6];
       if (defined $username && defined $author) {
	   $author =~ s/,.*$//; # in case of sub fields
	   my $domain = $Config{'mydomain'};
	   $domain =~ s/^\.//;
	   $email = "$username\@$domain";
       }
     };

$author =~ s/'/\\'/g if defined $author;
$author ||= "A. U. Thor";
$email  ||= 'a.u.thor@a.galaxy.far.far.away';

$licence = sprintf << "DEFAULT", $^V;
Copyright (C) ${\(1900 + (localtime) [5])} by $author

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version %vd or,
at your option, any later version of Perl 5 you may have available.
DEFAULT

my $revhist = '';
$revhist = <<EOT if $opt_C;
#
#=head1 HISTORY
#
#=over 8
#
#=item $TEMPLATE_VERSION
#
#Original version; created by h2xs $H2XS_VERSION with options
#
#  @ARGS
#
#=back
#
EOT

my $exp_doc = $skip_exporter ? '' : <<EOD;
#
#=head2 EXPORT
#
#None by default.
#
EOD

if (@const_names and not $opt_P) {
  $exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable constants
#
#  @{[join "\n  ", @const_names]}
#
EOD
}

if (defined $fdecls and @$fdecls and not $opt_P) {
  $exp_doc .= <<EOD unless $skip_exporter;
#=head2 Exportable functions
#
EOD

#  $exp_doc .= <<EOD if $opt_p;
#When accessing these functions from Perl, prefix C<$opt_p> should be removed.
#
#EOD
  $exp_doc .= <<EOD unless $skip_exporter;
#  @{[join "\n  ", @known_fnames{@fnames}]}
#
EOD
}

my $meth_doc = '';

if ($opt_x && $opt_a) {
  my($name, $struct);
  $meth_doc .= accessor_docs($name, $struct)
    while ($name, $struct) = each %structs;
}

# Prefix the default licence with hash symbols.
# Is this just cargo cult - it seems that the first thing that happens to this
# block is that all the hashes are then s///g out.
my $licence_hash = $licence;
$licence_hash =~ s/^/#/gm;

my $pod;
$pod = <<"END" unless $opt_P;
## Below is stub documentation for your module. You'd better edit it!
#
#=head1 NAME
#
#$module - Perl extension for blah blah blah
#
#=head1 SYNOPSIS
#
#  use $module;
#  blah blah blah
#
#=head1 DESCRIPTION
#
#Stub documentation for $module, created by h2xs. It looks like the
#author of the extension was negligent enough to leave the stub
#unedited.
#
#Blah blah blah.
$exp_doc$meth_doc$revhist
#
#=head1 SEE ALSO
#
#Mention other useful documentation such as the documentation of
#related modules or operating system documentation (such as man pages
#in UNIX), or any relevant external documentation such as RFCs or
#standards.
#
#If you have a mailing list set up for your module, mention it here.
#
#If you have a web site set up for your module, mention it here.
#
#=head1 AUTHOR
#
#$author, E<lt>${email}E<gt>
#
#=head1 COPYRIGHT AND LICENSE
#
$licence_hash
#
#=cut
END

$pod =~ s/^\#//gm unless $opt_P;
print PM $pod unless $opt_P;

close PM;


if( ! $opt_X ){ # print XS, unless it is disabled
warn "Writing $ext$modpname/$modfname.xs\n";

print XS <<"END";
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

END

print XS <<"END" unless $skip_ppport;
#include "ppport.h"

END

if( @path_h ){
    foreach my $path_h (@path_h_ini) {
	my($h) = $path_h;
	$h =~ s#^/usr/include/##;
	if ($^O eq 'VMS') { $h =~ s#.*vms\]#sys/# or $h =~ s#.*[:>\]]##; }
        print XS qq{#include <$h>\n};
    }
    print XS "\n";
}

print XS <<"END" if $opt_g;

/* Global Data */

#define MY_CXT_KEY "${module}::_guts" XS_VERSION

typedef struct {
    /* Put Global Data in here */
    int dummy;		/* you can access this elsewhere as MY_CXT.dummy */
} my_cxt_t;

START_MY_CXT

END

my %pointer_typedefs;
my %struct_typedefs;

sub td_is_pointer {
  my $type = shift;
  my $out = $pointer_typedefs{$type};
  return $out if defined $out;
  my $otype = $type;
  $out = ($type =~ /\*$/);
  # This converts only the guys which do not have trailing part in the typedef
  if (not $out
      and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type($type);
    print "Is-Pointer: Type mutation via typedefs: $otype ==> $type\n"
      if $opt_d;
    $out = td_is_pointer($type);
  }
  return ($pointer_typedefs{$otype} = $out);
}

sub td_is_struct {
  my $type = shift;
  my $out = $struct_typedefs{$type};
  return $out if defined $out;
  my $otype = $type;
  $out = ($type =~ /^(struct|union)\b/) && !td_is_pointer($type);
  # This converts only the guys which do not have trailing part in the typedef
  if (not $out
      and $typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type($type);
    print "Is-Struct: Type mutation via typedefs: $otype ==> $type\n"
      if $opt_d;
    $out = td_is_struct($type);
  }
  return ($struct_typedefs{$otype} = $out);
}

print_tievar_subs(\*XS, $_, $vdecl_hash{$_}) for @vdecls;

if( ! $opt_c ) {
  # We write the "sample" files used when this module is built by perl without
  # ExtUtils::Constant.
  # h2xs will later check that these are the same as those generated by the
  # code embedded into Makefile.PL
  unless (-d $fallbackdirname) {
    mkdir "$fallbackdirname" or die "Cannot mkdir $fallbackdirname: $!\n";
  }
  warn "Writing $ext$modpname/$fallbackdirname/$constscfname\n";
  warn "Writing $ext$modpname/$fallbackdirname/$constsxsfname\n";
  my $cfallback = File::Spec->catfile($fallbackdirname, $constscfname);
  my $xsfallback = File::Spec->catfile($fallbackdirname, $constsxsfname);
  WriteConstants ( C_FILE =>       $cfallback,
                   XS_FILE =>      $xsfallback,
                   DEFAULT_TYPE => $opt_t,
                   NAME =>         $module,
                   NAMES =>        \@const_specs,
                 );
  print XS "#include \"$constscfname\"\n";
}


my $prefix = defined $opt_p ? "PREFIX = $opt_p" : '';

# Now switch from C to XS by issuing the first MODULE declaration:
print XS <<"END";

MODULE = $module		PACKAGE = $module		$prefix

END

# If a constant() function was #included then output a corresponding
# XS declaration:
print XS "INCLUDE: $constsxsfname\n" unless $opt_c;

print XS <<"END" if $opt_g;

BOOT:
{
    MY_CXT_INIT;
    /* If any of the fields in the my_cxt_t struct need
       to be initialised, do it here.
     */
}

END

foreach (sort keys %const_xsub) {
    print XS <<"END";
char *
$_()

    CODE:
#ifdef $_
	RETVAL = $_;
#else
	croak("Your vendor has not defined the $module macro $_");
#endif

    OUTPUT:
	RETVAL

END
}

my %seen_decl;
my %typemap;

sub print_decl {
  my $fh = shift;
  my $decl = shift;
  my ($type, $name, $args) = @$decl;
  return if $seen_decl{$name}++; # Need to do the same for docs as well?

  my @argnames = map {$_->[1]} @$args;
  my @argtypes = map { normalize_type( $_->[0], 1 ) } @$args;
  if ($opt_k) {
    s/^\s*const\b\s*// for @argtypes;
  }
  my @argarrays = map { $_->[4] || '' } @$args;
  my $numargs = @$args;
  if ($numargs and $argtypes[-1] eq '...') {
    $numargs--;
    $argnames[-1] = '...';
  }
  local $" = ', ';
  $type = normalize_type($type, 1);

  print $fh <<"EOP";

$type
$name(@argnames)
EOP

  for my $arg (0 .. $numargs - 1) {
    print $fh <<"EOP";
	$argtypes[$arg]	$argnames[$arg]$argarrays[$arg]
EOP
  }
}

sub print_tievar_subs {
  my($fh, $name, $type) = @_;
  print $fh <<END;
I32
_get_$name(IV index, SV *sv) {
    dSP;
    PUSHMARK(SP);
    XPUSHs(sv);
    PUTBACK;
    (void)call_pv("$module\::_get_$name", G_DISCARD);
    return (I32)0;
}

I32
_set_$name(IV index, SV *sv) {
    dSP;
    PUSHMARK(SP);
    XPUSHs(sv);
    PUTBACK;
    (void)call_pv("$module\::_set_$name", G_DISCARD);
    return (I32)0;
}

END
}

sub print_tievar_xsubs {
  my($fh, $name, $type) = @_;
  print $fh <<END;
void
_tievar_$name(sv)
	SV* sv
    PREINIT:
	struct ufuncs uf;
    CODE:
	uf.uf_val = &_get_$name;
	uf.uf_set = &_set_$name;
	uf.uf_index = (IV)&_get_$name;
	sv_magic(sv, 0, 'U', (char*)&uf, sizeof(uf));

void
_get_$name(THIS)
	$type THIS = NO_INIT
    CODE:
	THIS = $name;
    OUTPUT:
	SETMAGIC: DISABLE
	THIS

void
_set_$name(THIS)
	$type THIS
    CODE:
	$name = THIS;

END
}

sub print_accessors {
  my($fh, $name, $struct) = @_;
  return unless defined $struct && $name !~ /\s|_ANON/;
  $name = normalize_type($name);
  my $ptrname = normalize_type("$name *");
  print $fh <<"EOF";

MODULE = $module		PACKAGE = ${name}		$prefix

$name *
_to_ptr(THIS)
	$name THIS = NO_INIT
    PROTOTYPE: \$
    CODE:
	if (sv_derived_from(ST(0), "$name")) {
	    STRLEN len;
	    char *s = SvPV((SV*)SvRV(ST(0)), len);
	    if (len != sizeof(THIS))
		croak("Size \%d of packed data != expected \%d",
			len, sizeof(THIS));
	    RETVAL = ($name *)s;
	}
	else
	    croak("THIS is not of type $name");
    OUTPUT:
	RETVAL

$name
new(CLASS)
	char *CLASS = NO_INIT
    PROTOTYPE: \$
    CODE:
	Zero((void*)&RETVAL, sizeof(RETVAL), char);
    OUTPUT:
	RETVAL

MODULE = $module		PACKAGE = ${name}Ptr		$prefix

EOF
  my @items = @$struct;
  while (@items) {
    my $item = shift @items;
    if ($item->[0] =~ /_ANON/) {
      if (defined $item->[2]) {
	push @items, map [
	  @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]",
	], @{ $structs{$item->[0]} };
      } else {
	push @items, @{ $structs{$item->[0]} };
      }
    } else {
      my $type = normalize_type($item->[0]);
      my $ttype = $structs{$type} ? normalize_type("$type *") : $type;
      print $fh <<"EOF";
$ttype
$item->[2](THIS, __value = NO_INIT)
	$ptrname THIS
	$type __value
    PROTOTYPE: \$;\$
    CODE:
	if (items > 1)
	    THIS->$item->[-1] = __value;
	RETVAL = @{[
	    $type eq $ttype ? "THIS->$item->[-1]" : "&(THIS->$item->[-1])"
	]};
    OUTPUT:
	RETVAL

EOF
    }
  }
}

sub accessor_docs {
  my($name, $struct) = @_;
  return unless defined $struct && $name !~ /\s|_ANON/;
  $name = normalize_type($name);
  my $ptrname = $name . 'Ptr';
  my @items = @$struct;
  my @list;
  while (@items) {
    my $item = shift @items;
    if ($item->[0] =~ /_ANON/) {
      if (defined $item->[2]) {
	push @items, map [
	  @$_[0, 1], "$item->[2]_$_->[2]", "$item->[2].$_->[2]",
	], @{ $structs{$item->[0]} };
      } else {
	push @items, @{ $structs{$item->[0]} };
      }
    } else {
      push @list, $item->[2];
    }
  }
  my $methods = (join '(...)>, C<', @list) . '(...)';

  my $pod = <<"EOF";
#
#=head2 Object and class methods for C<$name>/C<$ptrname>
#
#The principal Perl representation of a C object of type C<$name> is an
#object of class C<$ptrname> which is a reference to an integer
#representation of a C pointer.  To create such an object, one may use
#a combination
#
#  my \$buffer = $name->new();
#  my \$obj = \$buffer->_to_ptr();
#
#This exercises the following two methods, and an additional class
#C<$name>, the internal representation of which is a reference to a
#packed string with the C structure.  Keep in mind that \$buffer should
#better survive longer than \$obj.
#
#=over
#
#=item C<\$object_of_type_$name-E<gt>_to_ptr()>
#
#Converts an object of type C<$name> to an object of type C<$ptrname>.
#
#=item C<$name-E<gt>new()>
#
#Creates an empty object of type C<$name>.  The corresponding packed
#string is zeroed out.
#
#=item C<$methods>
#
#return the current value of the corresponding element if called
#without additional arguments.  Set the element to the supplied value
#(and return the new value) if called with an additional argument.
#
#Applicable to objects of type C<$ptrname>.
#
#=back
#
EOF
  $pod =~ s/^\#//gm;
  return $pod;
}

# Should be called before any actual call to normalize_type().
sub get_typemap {
  # We do not want to read ./typemap by obvios reasons.
  my @tm =  qw(../../../typemap ../../typemap ../typemap);
  my $stdtypemap =  "$Config::Config{privlib}/ExtUtils/typemap";
  unshift @tm, $stdtypemap;
  my $proto_re = "[" . quotemeta('\$%&*@;') . "]" ;

  # Start with useful default values
  $typemap{float} = 'T_NV';

  foreach my $typemap (@tm) {
    next unless -e $typemap ;
    # skip directories, binary files etc.
    warn " Scanning $typemap\n";
    warn("Warning: ignoring non-text typemap file '$typemap'\n"), next
      unless -T $typemap ;
    open(TYPEMAP, $typemap)
      or warn ("Warning: could not open typemap file '$typemap': $!\n"), next;
    my $mode = 'Typemap';
    while (<TYPEMAP>) {
      next if /^\s*\#/;
      if (/^INPUT\s*$/)   { $mode = 'Input'; next; }
      elsif (/^OUTPUT\s*$/)  { $mode = 'Output'; next; }
      elsif (/^TYPEMAP\s*$/) { $mode = 'Typemap'; next; }
      elsif ($mode eq 'Typemap') {
	next if /^\s*($|\#)/ ;
	my ($type, $image);
	if ( ($type, $image) =
	     /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/o
	     # This may reference undefined functions:
	     and not ($image eq 'T_PACKED' and $typemap eq $stdtypemap)) {
	  $typemap{normalize_type($type)} = $image;
	}
      }
    }
    close(TYPEMAP) or die "Cannot close $typemap: $!";
  }
  %std_types = %types_seen;
  %types_seen = ();
}


sub normalize_type {		# Second arg: do not strip const's before \*
  my $type = shift;
  my $do_keep_deep_const = shift;
  # If $do_keep_deep_const this is heuristic only
  my $keep_deep_const = ($do_keep_deep_const ? '\b(?![^(,)]*\*)' : '');
  my $ignore_mods
    = "(?:\\b(?:(?:__const__|const)$keep_deep_const|static|inline|__inline__)\\b\\s*)*";
  if ($do_keep_deep_const) {	# Keep different compiled /RExen/o separately!
    $type =~ s/$ignore_mods//go;
  }
  else {
    $type =~ s/$ignore_mods//go;
  }
  $type =~ s/([^\s\w])/ $1 /g;
  $type =~ s/\s+$//;
  $type =~ s/^\s+//;
  $type =~ s/\s+/ /g;
  $type =~ s/\* (?=\*)/*/g;
  $type =~ s/\. \. \./.../g;
  $type =~ s/ ,/,/g;
  $types_seen{$type}++
    unless $type eq '...' or $type eq 'void' or $std_types{$type};
  $type;
}

my $need_opaque;

sub assign_typemap_entry {
  my $type = shift;
  my $otype = $type;
  my $entry;
  if ($tmask and $type =~ /$tmask/) {
    print "Type $type matches -o mask\n" if $opt_d;
    $entry = (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ");
  }
  elsif ($typedef_rex and $type =~ s/($typedef_rex)/$typedefs_pre{$1}/go) {
    $type = normalize_type $type;
    print "Type mutation via typedefs: $otype ==> $type\n" if $opt_d;
    $entry = assign_typemap_entry($type);
  }
  # XXX good do better if our UV happens to be long long
  return "T_NV" if $type =~ /^(unsigned\s+)?long\s+(long|double)\z/;
  $entry ||= $typemap{$otype}
    || (td_is_struct($type) ? "T_OPAQUE_STRUCT" : "T_PTROBJ");
  $typemap{$otype} = $entry;
  $need_opaque = 1 if $entry eq "T_OPAQUE_STRUCT";
  return $entry;
}

for (@vdecls) {
  print_tievar_xsubs(\*XS, $_, $vdecl_hash{$_});
}

if ($opt_x) {
  for my $decl (@$fdecls_parsed) { print_decl(\*XS, $decl) }
  if ($opt_a) {
    while (my($name, $struct) = each %structs) {
      print_accessors(\*XS, $name, $struct);
    }
  }
}

close XS;

if (%types_seen) {
  my $type;
  warn "Writing $ext$modpname/typemap\n";
  open TM, ">typemap" or die "Cannot open typemap file for write: $!";

  for $type (sort keys %types_seen) {
    my $entry = assign_typemap_entry $type;
    print TM $type, "\t" x (5 - int((length $type)/8)), "\t$entry\n"
  }

  print TM <<'EOP' if $need_opaque; # Older Perls do not have correct entry
#############################################################################
INPUT
T_OPAQUE_STRUCT
	if (sv_derived_from($arg, \"${ntype}\")) {
	    STRLEN len;
	    char  *s = SvPV((SV*)SvRV($arg), len);

	    if (len != sizeof($var))
		croak(\"Size %d of packed data != expected %d\",
			len, sizeof($var));
	    $var = *($type *)s;
	}
	else
	    croak(\"$var is not of type ${ntype}\")
#############################################################################
OUTPUT
T_OPAQUE_STRUCT
	sv_setref_pvn($arg, \"${ntype}\", (char *)&$var, sizeof($var));
EOP

  close TM or die "Cannot close typemap file for write: $!";
}

} # if( ! $opt_X )

warn "Writing $ext$modpname/Makefile.PL\n";
open(PL, ">Makefile.PL") || die "Can't create $ext$modpname/Makefile.PL: $!\n";

my $prereq_pm = '';

if ( $compat_version < 5.006002 and $new_test )
{
  $prereq_pm .= q%'Test::More'  =>  0, %;
}
elsif ( $compat_version < 5.006002 )
{
  $prereq_pm .= q%'Test'        =>  0, %;
}

if ( $compat_version < 5.006 and !$opt_X and $use_xsloader)
{
  $prereq_pm .= q%'XSLoader'    =>  0, %;
}

print PL <<"END";
use $compat_version;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    NAME              => '$module',
    VERSION_FROM      => '$modpmname', # finds \$VERSION
    PREREQ_PM         => {$prereq_pm}, # e.g., Module::Name => 1.1
    (\$] >= 5.005 ?     ## Add these new keywords supported since 5.005
      (ABSTRACT_FROM  => '$modpmname', # retrieve abstract from module
       AUTHOR         => '$author <$email>') : ()),
END
if (!$opt_X) { # print C stuff, unless XS is disabled
  $opt_F = '' unless defined $opt_F;
  my $I = (((glob '*.h') || (glob '*.hh')) ? '-I.' : '');
  my $Ihelp = ($I ? '-I. ' : '');
  my $Icomment = ($I ? '' : <<EOC);
	# Insert -I. if you add *.h files later:
EOC

  print PL <<END;
    LIBS              => ['$extralibs'], # e.g., '-lm'
    DEFINE            => '$opt_F', # e.g., '-DHAVE_SOMETHING'
$Icomment    INC               => '$I', # e.g., '${Ihelp}-I/usr/include/other'
END

  my $C = grep {$_ ne "$modfname.c"}
    (glob '*.c'), (glob '*.cc'), (glob '*.C');
  my $Cpre = ($C ? '' : '# ');
  my $Ccomment = ($C ? '' : <<EOC);
	# Un-comment this if you add C files to link with later:
EOC

  print PL <<END;
$Ccomment    ${Cpre}OBJECT            => '\$(O_FILES)', # link all the C files too
END
} # ' # Grr
print PL ");\n";
if (!$opt_c) {
  my $generate_code =
    WriteMakefileSnippet ( C_FILE =>       $constscfname,
                           XS_FILE =>      $constsxsfname,
                           DEFAULT_TYPE => $opt_t,
                           NAME =>         $module,
                           NAMES =>        \@const_specs,
                 );
  print PL <<"END";
if  (eval {require ExtUtils::Constant; 1}) {
  # If you edit these definitions to change the constants used by this module,
  # you will need to use the generated $constscfname and $constsxsfname
  # files to replace their "fallback" counterparts before distributing your
  # changes.
$generate_code
}
else {
  use File::Copy;
  use File::Spec;
  foreach my \$file ('$constscfname', '$constsxsfname') {
    my \$fallback = File::Spec->catfile('$fallbackdirname', \$file);
    copy (\$fallback, \$file) or die "Can't copy \$fallback to \$file: \$!";
  }
}
END

  eval $generate_code;
  if ($@) {
    warn <<"EOM";
Attempting to test constant code in $ext$modpname/Makefile.PL:
$generate_code
__END__
gave unexpected error $@
Please report the circumstances of this bug in h2xs version $H2XS_VERSION
using the perlbug script.
EOM
  } else {
    my $fail;

    foreach my $file ($constscfname, $constsxsfname) {
      my $fallback = File::Spec->catfile($fallbackdirname, $file);
      if (compare($file, $fallback)) {
        warn << "EOM";
Files "$ext$modpname/$fallbackdirname/$file" and "$ext$modpname/$file" differ.
EOM
        $fail++;
      }
    }
    if ($fail) {
      warn fill ('','', <<"EOM") . "\n";
It appears that the code in $ext$modpname/Makefile.PL does not autogenerate
the files $ext$modpname/$constscfname and $ext$modpname/$constsxsfname
correctly.

Please report the circumstances of this bug in h2xs version $H2XS_VERSION
using the perlbug script.
EOM
    } else {
      unlink $constscfname, $constsxsfname;
    }
  }
}
close(PL) || die "Can't close $ext$modpname/Makefile.PL: $!\n";

# Create a simple README since this is a CPAN requirement
# and it doesn't hurt to have one
warn "Writing $ext$modpname/README\n";
open(RM, ">README") || die "Can't create $ext$modpname/README:$!\n";
my $thisyear = (gmtime)[5] + 1900;
my $rmhead = "$modpname version $TEMPLATE_VERSION";
my $rmheadeq = "=" x length($rmhead);

my $rm_prereq;

if ( $compat_version < 5.006002 and $new_test )
{
  $rm_prereq = 'Test::More';
}
elsif ( $compat_version < 5.006002 )
{
  $rm_prereq = 'Test';
}
else
{
  $rm_prereq = 'blah blah blah';
}

print RM <<_RMEND_;
$rmhead
$rmheadeq

The README is used to introduce the module and provide instructions on
how to install the module, any machine dependencies it may have (for
example C compilers and installed libraries) and any other information
that should be provided before the module is installed.

A README file is required for CPAN modules since CPAN extracts the
README file from a module distribution so that people browsing the
archive can use it get an idea of the modules uses. It is usually a
good idea to provide version information here so that people can
decide whether fixes for the module are worth downloading.

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make test
   make install

DEPENDENCIES

This module requires these other modules and libraries:

  $rm_prereq

COPYRIGHT AND LICENCE

Put the correct copyright and licence information here.

$licence

_RMEND_
close(RM) || die "Can't close $ext$modpname/README: $!\n";

my $testdir  = "t";
my $testfile = "$testdir/$modpname.t";
unless (-d "$testdir") {
  mkdir "$testdir" or die "Cannot mkdir $testdir: $!\n";
}
warn "Writing $ext$modpname/$testfile\n";
my $tests = @const_names ? 2 : 1;

open EX, ">$testfile" or die "Can't create $ext$modpname/$testfile: $!\n";

print EX <<_END_;
# Before 'make install' is performed this script should be runnable with
# 'make test'. After 'make install' it should work as 'perl $modpname.t'

#########################

# change 'tests => $tests' to 'tests => last_test_to_print';

use strict;
use warnings;

_END_

my $test_mod = 'Test::More';

if ( $old_test or ($compat_version < 5.006002 and not $new_test ))
{
  my $test_mod = 'Test';

  print EX <<_END_;
use Test;
BEGIN { plan tests => $tests };
use $module;
ok(1); # If we made it this far, we're ok.

_END_

   if (@const_names) {
     my $const_names = join " ", @const_names;
     print EX <<'_END_';

my $fail;
foreach my $constname (qw(
_END_

     print EX wrap ("\t", "\t", $const_names);
     print EX (")) {\n");

     print EX <<_END_;
  next if (eval "my \\\$a = \$constname; 1");
  if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) {
    print "# pass: \$\@";
  } else {
    print "# fail: \$\@";
    \$fail = 1;
  }
}
if (\$fail) {
  print "not ok 2\\n";
} else {
  print "ok 2\\n";
}

_END_
  }
}
else
{
  print EX <<_END_;
use Test::More tests => $tests;
BEGIN { use_ok('$module') };

_END_

   if (@const_names) {
     my $const_names = join " ", @const_names;
     print EX <<'_END_';

my $fail = 0;
foreach my $constname (qw(
_END_

     print EX wrap ("\t", "\t", $const_names);
     print EX (")) {\n");

     print EX <<_END_;
  next if (eval "my \\\$a = \$constname; 1");
  if (\$\@ =~ /^Your vendor has not defined $module macro \$constname/) {
    print "# pass: \$\@";
  } else {
    print "# fail: \$\@";
    \$fail = 1;
  }

}

ok( \$fail == 0 , 'Constants' );
_END_
  }
}

print EX <<_END_;
#########################

# Insert your test code below, the $test_mod module is use()ed here so read
# its man page ( perldoc $test_mod ) for help writing this test script.

_END_

close(EX) || die "Can't close $ext$modpname/$testfile: $!\n";

unless ($opt_C) {
  warn "Writing $ext$modpname/Changes\n";
  $" = ' ';
  open(EX, ">Changes") || die "Can't create $ext$modpname/Changes: $!\n";
  @ARGS = map {/[\s\"\'\`\$*?^|&<>\[\]\{\}\(\)]/ ? "'$_'" : $_} @ARGS;
  print EX <<EOP;
Revision history for Perl extension $module.

$TEMPLATE_VERSION  @{[scalar localtime]}
\t- original version; created by h2xs $H2XS_VERSION with options
\t\t@ARGS

EOP
  close(EX) || die "Can't close $ext$modpname/Changes: $!\n";
}

warn "Writing $ext$modpname/MANIFEST\n";
open(MANI,'>MANIFEST') or die "Can't create MANIFEST: $!";
my @files = grep { -f } (<*>, <t/*>, <$fallbackdirname/*>, <$modpmdir/*>);
if (!@files) {
  eval {opendir(D,'.');};
  unless ($@) { @files = readdir(D); closedir(D); }
}
if (!@files) { @files = map {chomp && $_} `ls`; }
if ($^O eq 'VMS') {
  foreach (@files) {
    # Clip trailing '.' for portability -- non-VMS OSs don't expect it
    s%\.$%%;
    # Fix up for case-sensitive file systems
    s/$modfname/$modfname/i && next;
    $_ = "\U$_" if $_ eq 'manifest' or $_ eq 'changes';
    $_ = 'Makefile.PL' if $_ eq 'makefile.pl';
  }
}
print MANI join("\n",@files), "\n";
close MANI;

Filemanager

Name Type Size Permission Actions
2to3 File 95 B 0755
GET File 14.71 KB 0755
HEAD File 14.71 KB 0755
Magick-config File 1.23 KB 0755
MagickCore-config File 1.24 KB 0755
MagickWand-config File 1.25 KB 0755
Mail File 383.67 KB 0755
POST File 14.71 KB 0755
Wand-config File 1.23 KB 0755
[ File 40.52 KB 0755
a2p File 105.32 KB 0755
ab File 157.91 KB 0755
abrt-action-analyze-backtrace File 10.98 KB 0755
abrt-action-analyze-c File 10.98 KB 0755
abrt-action-analyze-ccpp-local File 1.31 KB 0755
abrt-action-analyze-core File 6.66 KB 0755
abrt-action-analyze-oops File 10.96 KB 0755
abrt-action-analyze-python File 10.97 KB 0755
abrt-action-analyze-vmcore File 2.75 KB 0755
abrt-action-analyze-vulnerability File 1.32 KB 0755
abrt-action-analyze-xorg File 11 KB 0755
abrt-action-check-oops-for-hw-error File 4.88 KB 0755
abrt-action-generate-backtrace File 10.99 KB 0755
abrt-action-generate-core-backtrace File 10.98 KB 0755
abrt-action-install-debuginfo File 8.15 KB 0755
abrt-action-list-dsos File 3.13 KB 0755
abrt-action-notify File 8.75 KB 0755
abrt-action-perform-ccpp-analysis File 3.45 KB 0755
abrt-action-save-kernel-data File 1.26 KB 0755
abrt-action-save-package-data File 23.16 KB 0755
abrt-action-trim-files File 15.04 KB 0755
abrt-cli File 27.3 KB 0755
abrt-dump-oops File 19.01 KB 0755
abrt-dump-xorg File 14.99 KB 0755
abrt-handle-upload File 8.84 KB 0755
abrt-merge-pstoreoops File 11.01 KB 0755
abrt-retrace-client File 43.45 KB 0755
abrt-watch-log File 14.99 KB 0755
ac File 28.11 KB 0755
aclocal File 35.87 KB 0755
aclocal-1.13 File 35.87 KB 0755
addr2line File 28.42 KB 0755
alias File 29 B 0755
alt-mysql-reconfigure File 21.15 KB 0755
alt-php-mysql-reconfigure File 21.15 KB 0755
alt-php-mysql-reconfigure.py File 21.15 KB 0755
animate File 7.05 KB 0755
annotate File 11.13 KB 0755
apachetop File 44.93 KB 0755
apropos File 45.49 KB 0755
apxs File 19.35 KB 0755
ar File 61.21 KB 0755
arch File 32.3 KB 0755
aria_chk File 4.46 MB 0755
aria_dump_log File 4.25 MB 0755
aria_ftdump File 4.26 MB 0755
aria_pack File 4.29 MB 0755
aria_read_log File 4.42 MB 0755
arpaname File 7.03 KB 0755
as File 377.28 KB 0755
aspell File 163.35 KB 0755
at File 51.73 KB 4755
atq File 51.73 KB 4755
atrm File 51.73 KB 4755
attr File 11.16 KB 0755
audit2allow File 14.21 KB 0755
audit2why File 14.21 KB 0755
aulast File 15.48 KB 0755
aulastlog File 11.35 KB 0755
ausyscall File 11.18 KB 0755
autoconf File 14.42 KB 0755
autoexpect File 7.53 KB 0755
autoheader File 8.33 KB 0755
autom4te File 31.43 KB 0755
automake File 246.44 KB 0755
automake-1.13 File 246.44 KB 0755
autopoint File 25.95 KB 0755
autoreconf File 20.57 KB 0755
autoscan File 16.72 KB 0755
autoupdate File 33.08 KB 0755
auvirt File 31.93 KB 0755
awk File 418.55 KB 0755
base64 File 36.48 KB 0755
basename File 28.35 KB 0755
bash File 941.93 KB 0755
bashbug File 6.8 KB 0755
bashbug-64 File 6.8 KB 0755
batch File 137 B 0755
bc File 81.47 KB 0755
bdftogd File 3.91 KB 0755
bdftopcf File 44.19 KB 0755
bdftruncate File 11.2 KB 0755
berkeley_db47_svc File 58.46 KB 0755
bg File 26 B 0755
bind9-config File 3.47 KB 0755
bison File 393.34 KB 0755
blkiomon File 24.59 KB 0755
blkparse File 46.41 KB 0755
blkrawverify File 15.27 KB 0755
blktrace File 38.37 KB 0755
bno_plot.py File 3.38 KB 0755
bond2team File 22.74 KB 0755
bootctl File 68.99 KB 0755
btrace File 891 B 0755
btrecord File 16.37 KB 0755
btreplay File 25.01 KB 0755
btt File 75.82 KB 0755
bunzip2 File 31.89 KB 0755
busctl File 403.15 KB 0755
bzcat File 31.89 KB 0755
bzcmp File 2.08 KB 0755
bzdiff File 2.08 KB 0755
bzgrep File 1.64 KB 0755
bzip2 File 31.89 KB 0755
bzip2recover File 15.24 KB 0755
bzless File 1.23 KB 0755
bzmore File 1.23 KB 0755
c++ File 754.59 KB 0755
c++filt File 27.92 KB 0755
c2ph File 35.75 KB 0755
c89 File 224 B 0755
c99 File 215 B 0755
ca-legacy File 1.6 KB 0755
cairo-sphinx File 69.99 KB 0755
cal File 36.8 KB 0755
captoinfo File 64.26 KB 0755
cat File 52.81 KB 0755
catchsegv File 3.26 KB 0755
catman File 36.75 KB 0755
cc File 750.59 KB 0755
cd File 26 B 0755
centrino-decode File 6.13 KB 0755
certutil File 179.75 KB 0755
chacl File 15.27 KB 0755
chage File 72.16 KB 0755
chardetect File 307 B 0755
chattr File 11.27 KB 0755
chcat File 13.12 KB 0755
chcon File 61.46 KB 0755
checkmodule File 400.48 KB 0755
checkpolicy File 412.46 KB 0755
chfn File 23.41 KB 4711
chgrp File 61.32 KB 0755
chmem File 40.43 KB 0755
chmod File 57.21 KB 0755
chown File 61.36 KB 0755
chronyc File 85.03 KB 0755
chrt File 32.17 KB 0755
chsh File 23.32 KB 0711
chvt File 11.14 KB 0755
ci File 801 B 0755
cifsiostat File 48.52 KB 0755
cksum File 32.38 KB 0755
cl-linksafe-reconfigure File 5.15 KB 0755
clear File 7.02 KB 0755
cloud-id File 310 B 0755
cloud-init File 314 B 0755
cloud-init-per File 2.06 KB 0755
cloud-localds File 4.42 KB 0755
cloud-publish-image File 16.68 KB 0755
cloud-publish-tarball File 8.33 KB 0755
cloud-run-instances File 25.79 KB 0755
cmp File 44.14 KB 0755
cmsutil File 110.59 KB 0755
co File 801 B 0755
col File 23.88 KB 0755
colcrt File 11.29 KB 0755
collectd-nagios File 19.02 KB 0755
collectd-tg File 15.18 KB 0755
collectdctl File 19 KB 0755
colrm File 23.77 KB 0755
column File 27.99 KB 0755
comm File 36.55 KB 0755
command File 31 B 0755
compare File 11.09 KB 0755
compile_et File 1.45 KB 0755
composite File 7.05 KB 0755
config_data File 7.05 KB 0755
conjure File 7.05 KB 0755
consolehelper File 6.95 KB 0755
convert File 7.05 KB 0755
coredumpctl File 154.52 KB 0755
corelist File 10.02 KB 0755
cp File 151.55 KB 0755
cpan File 4.97 KB 0755
cpan2dist File 21.31 KB 0755
cpanp File 3.31 KB 0755
cpanp-run-perl File 553 B 0755
cpapi1 File 3.02 MB 0755
cpapi2 File 3.02 MB 0755
cpapi3 File 3.02 MB 0755
cpio File 142.58 KB 0755
cpp File 754.58 KB 0755
cpupower File 66.34 KB 0755
crlutil File 127 KB 0755
crontab File 56.23 KB 4755
csh File 395.15 KB 0755
csplit File 48.82 KB 0755
csslint-0.6 File 19.55 KB 0755
curl File 153 KB 0755
cut File 40.61 KB 0755
cvtsudoers File 241.7 KB 0755
cxpm File 28.05 KB 0755
date File 60.74 KB 0755
db47_archive File 10.21 KB 0755
db47_checkpoint File 10.27 KB 0755
db47_codegen File 22.25 KB 0755
db47_deadlock File 10.28 KB 0755
db47_dump File 14.25 KB 0755
db47_hotbackup File 18.38 KB 0755
db47_load File 26.33 KB 0755
db47_printlog File 62.8 KB 0755
db47_recover File 10.27 KB 0755
db47_stat File 14.22 KB 0755
db47_upgrade File 10.23 KB 0755
db47_verify File 10.22 KB 0755
db_archive File 11.23 KB 0755
db_checkpoint File 11.3 KB 0755
db_deadlock File 11.31 KB 0755
db_dump File 15.33 KB 0755
db_dump185 File 64.45 KB 0755
db_hotbackup File 15.34 KB 0755
db_load File 27.51 KB 0755
db_log_verify File 15.34 KB 0755
db_printlog File 32.26 KB 0755
db_recover File 11.33 KB 0755
db_replicate File 15.34 KB 0755
db_stat File 15.26 KB 0755
db_tuner File 19.33 KB 0755
db_upgrade File 11.23 KB 0755
db_verify File 11.25 KB 0755
dbilogstrip File 1.43 KB 0755
dbiprof File 6.15 KB 0755
dbiproxy File 5.35 KB 0755
dbus-binding-tool File 94.49 KB 0755
dbus-cleanup-sockets File 11 KB 0755
dbus-daemon File 218 KB 0755
dbus-monitor File 23.13 KB 0755
dbus-run-session File 14.97 KB 0755
dbus-send File 27.07 KB 0755
dbus-test-tool File 23.13 KB 0755
dbus-update-activation-environment File 15.02 KB 0755
dbus-uuidgen File 10.98 KB 0755
dc File 44.33 KB 0755
dd File 73.14 KB 0755
deallocvt File 11.16 KB 0755
debuginfo-install File 7.88 KB 0755
delv File 39.98 KB 0755
desktop-file-edit File 74.73 KB 0755
desktop-file-install File 74.73 KB 0755
desktop-file-validate File 62.68 KB 0755
df File 102.55 KB 0755
dgawk File 502.12 KB 0755
diff File 195.46 KB 0755
diff3 File 60.65 KB 0755
dig File 146.96 KB 0755
dir File 114.85 KB 0755
dircolors File 40.44 KB 0755
dirname File 28.31 KB 0755
dislocate File 7.75 KB 0755
display File 7.05 KB 0755
dltest File 11.05 KB 0755
dmesg File 48.52 KB 0755
dnsdomainname File 15.41 KB 0755
domainname File 15.41 KB 0755
doveadm File 2.94 MB 0755
doveconf File 541.95 KB 0755
dovecot-sysreport File 5.81 KB 0755
dpkg File 275.27 KB 0755
dpkg-deb File 140.41 KB 0755
dpkg-divert File 132.63 KB 0755
dpkg-maintscript-helper File 18.58 KB 0755
dpkg-query File 140.8 KB 0755
dpkg-split File 111.28 KB 0755
dpkg-statoverride File 70.52 KB 0755
dpkg-trigger File 66.26 KB 0755
dracut File 55.83 KB 0755
dsync File 2.94 MB 0755
dtrace File 16.66 KB 0755
du File 110.34 KB 0755
dumpkeys File 77.51 KB 0755
dumpsexp File 15.19 KB 0755
dvipdf File 1 KB 0755
dwp File 3.03 MB 0755
dwz File 162.6 KB 0755
ea-php56 File 4 MB 0755
ea-php56-pear File 383 B 0755
ea-php56-pecl File 299 B 0755
ea-php70 File 3.85 MB 0755
ea-php70-pear File 383 B 0755
ea-php70-pecl File 299 B 0755
ea-php71 File 4.02 MB 0755
ea-php71-pear File 383 B 0755
ea-php71-pecl File 299 B 0755
ea-php72 File 4.26 MB 0755
ea-php72-pear File 383 B 0755
ea-php72-pecl File 299 B 0755
ea-php73 File 4.65 MB 0755
ea-php73-pear File 383 B 0755
ea-php73-pecl File 299 B 0755
ea-php74 File 6.09 MB 0755
ea-php74-pear File 383 B 0755
ea-php74-pecl File 299 B 0755
easy_install File 320 B 0755
easy_install-2.7 File 328 B 0755
ec2metadata File 6.4 KB 0755
echo File 32.31 KB 0755
ed File 48.68 KB 0755
egrep File 290 B 0755
eject File 48.81 KB 0755
elfedit File 32.18 KB 0755
elinks File 1.3 MB 0755
enchant File 15.29 KB 0755
enchant-lsmod File 11.13 KB 0755
env File 28.33 KB 0755
envsubst File 36.01 KB 0755
eps2eps File 639 B 0755
eqn File 144.41 KB 0755
erb File 4.29 KB 0755
eu-addr2line File 23.66 KB 0755
eu-ar File 35.97 KB 0755
eu-elfcmp File 32.16 KB 0755
eu-elfcompress File 27.64 KB 0755
eu-elflint File 108.8 KB 0755
eu-findtextrel File 19.55 KB 0755
eu-make-debug-archive File 2.84 KB 0755
eu-nm File 44.92 KB 0755
eu-objdump File 32.45 KB 0755
eu-ranlib File 19.58 KB 0755
eu-readelf File 230.43 KB 0755
eu-size File 19.42 KB 0755
eu-stack File 23.64 KB 0755
eu-strings File 19.59 KB 0755
eu-strip File 56.75 KB 0755
eu-unstrip File 48.23 KB 0755
euare-accountaliascreate File 172 B 0755
euare-accountaliasdelete File 172 B 0755
euare-accountaliaslist File 172 B 0755
euare-accountcreate File 157 B 0755
euare-accountdel File 157 B 0755
euare-accountdelpolicy File 175 B 0755
euare-accountgetpolicy File 166 B 0755
euare-accountgetsummary File 169 B 0755
euare-accountlist File 154 B 0755
euare-accountlistpolicies File 175 B 0755
euare-accountuploadpolicy File 166 B 0755
euare-assumerole File 148 B 0755
euare-getcallerid File 169 B 0755
euare-getldapsyncstatus File 169 B 0755
euare-groupaddpolicy File 160 B 0755
euare-groupadduser File 160 B 0755
euare-groupcreate File 151 B 0755
euare-groupdel File 151 B 0755
euare-groupdelpolicy File 169 B 0755
euare-groupgetpolicy File 160 B 0755
euare-grouplistbypath File 148 B 0755
euare-grouplistpolicies File 169 B 0755
euare-grouplistusers File 142 B 0755
euare-groupmod File 151 B 0755
euare-groupremoveuser File 175 B 0755
euare-groupuploadpolicy File 160 B 0755
euare-instanceprofileaddrole File 190 B 0755
euare-instanceprofilecreate File 181 B 0755
euare-instanceprofiledel File 181 B 0755
euare-instanceprofilegetattributes File 172 B 0755
euare-instanceprofilelistbypath File 178 B 0755
euare-instanceprofilelistforrole File 199 B 0755
euare-instanceprofileremoverole File 205 B 0755
euare-oidcprovideraddclientid File 216 B 0755
euare-oidcproviderchangethumbprint File 229 B 0755
euare-oidcprovidercreate File 199 B 0755
euare-oidcproviderdel File 199 B 0755
euare-oidcproviderdelclientid File 231 B 0755
euare-oidcprovidergetattributes File 190 B 0755
euare-oidcproviderlist File 196 B 0755
euare-releaserole File 153 B 0755
euare-roleaddpolicy File 157 B 0755
euare-rolecreate File 148 B 0755
euare-roledel File 148 B 0755
euare-roledelpolicy File 166 B 0755
euare-rolegetattributes File 139 B 0755
euare-rolegetpolicy File 157 B 0755
euare-rolelistbypath File 145 B 0755
euare-rolelistpolicies File 166 B 0755
euare-roleupdateassumepolicy File 184 B 0755
euare-roleuploadpolicy File 157 B 0755
euare-servercertdel File 187 B 0755
euare-servercertgetattributes File 178 B 0755
euare-servercertlistbypath File 184 B 0755
euare-servercertmod File 187 B 0755
euare-servercertupload File 187 B 0755
euare-useraddcert File 190 B 0755
euare-useraddkey File 163 B 0755
euare-useraddloginprofile File 172 B 0755
euare-useraddpolicy File 157 B 0755
euare-usercreate File 148 B 0755
euare-usercreatecert File 190 B 0755
euare-userdeactivatemfadevice File 175 B 0755
euare-userdel File 148 B 0755
euare-userdelcert File 190 B 0755
euare-userdelkey File 163 B 0755
euare-userdelloginprofile File 172 B 0755
euare-userdelpolicy File 166 B 0755
euare-userenablemfadevice File 163 B 0755
euare-usergetattributes File 139 B 0755
euare-usergetinfo File 151 B 0755
euare-usergetloginprofile File 163 B 0755
euare-usergetpolicy File 157 B 0755
euare-userlistbypath File 145 B 0755
euare-userlistcerts File 187 B 0755
euare-userlistgroups File 169 B 0755
euare-userlistkeys File 160 B 0755
euare-userlistmfadevices File 160 B 0755
euare-userlistpolicies File 166 B 0755
euare-usermod File 148 B 0755
euare-usermodcert File 190 B 0755
euare-usermodkey File 163 B 0755
euare-usermodloginprofile File 172 B 0755
euare-userresyncmfadevice File 163 B 0755
euare-userupdateinfo File 160 B 0755
euare-useruploadpolicy File 157 B 0755
euca-accept-vpc-peering-connection File 196 B 0755
euca-allocate-address File 163 B 0755
euca-assign-private-ip-addresses File 190 B 0755
euca-associate-address File 166 B 0755
euca-associate-dhcp-options File 178 B 0755
euca-associate-route-table File 175 B 0755
euca-attach-internet-gateway File 181 B 0755
euca-attach-network-interface File 184 B 0755
euca-attach-volume File 154 B 0755
euca-attach-vpn-gateway File 166 B 0755
euca-authorize File 190 B 0755
euca-bundle-and-upload-image File 184 B 0755
euca-bundle-image File 157 B 0755
euca-bundle-instance File 160 B 0755
euca-bundle-vol File 160 B 0755
euca-cancel-bundle-task File 166 B 0755
euca-cancel-conversion-task File 178 B 0755
euca-confirm-product-instance File 184 B 0755
euca-copy-image File 145 B 0755
euca-create-customer-gateway File 181 B 0755
euca-create-dhcp-options File 169 B 0755
euca-create-group File 175 B 0755
euca-create-image File 151 B 0755
euca-create-internet-gateway File 181 B 0755
euca-create-keypair File 157 B 0755
euca-create-nat-gateway File 166 B 0755
euca-create-network-acl File 166 B 0755
euca-create-network-acl-entry File 181 B 0755
euca-create-network-interface File 184 B 0755
euca-create-route File 151 B 0755
euca-create-route-table File 166 B 0755
euca-create-snapshot File 160 B 0755
euca-create-subnet File 154 B 0755
euca-create-tags File 154 B 0755
euca-create-volume File 154 B 0755
euca-create-vpc File 145 B 0755
euca-create-vpc-peering-connection File 196 B 0755
euca-create-vpn-connection File 175 B 0755
euca-create-vpn-connection-route File 190 B 0755
euca-create-vpn-gateway File 166 B 0755
euca-delete-bundle File 160 B 0755
euca-delete-customer-gateway File 181 B 0755
euca-delete-dhcp-options File 169 B 0755
euca-delete-disk-image File 163 B 0755
euca-delete-group File 175 B 0755
euca-delete-internet-gateway File 181 B 0755
euca-delete-keypair File 157 B 0755
euca-delete-nat-gateway File 166 B 0755
euca-delete-network-acl File 166 B 0755
euca-delete-network-acl-entry File 181 B 0755
euca-delete-network-interface File 184 B 0755
euca-delete-route File 151 B 0755
euca-delete-route-table File 166 B 0755
euca-delete-snapshot File 160 B 0755
euca-delete-subnet File 154 B 0755
euca-delete-tags File 148 B 0755
euca-delete-volume File 154 B 0755
euca-delete-vpc File 145 B 0755
euca-delete-vpc-peering-connection File 196 B 0755
euca-delete-vpn-connection File 175 B 0755
euca-delete-vpn-connection-route File 190 B 0755
euca-delete-vpn-gateway File 166 B 0755
euca-deregister File 163 B 0755
euca-describe-account-attributes File 193 B 0755
euca-describe-addresses File 169 B 0755
euca-describe-availability-zones File 193 B 0755
euca-describe-bundle-tasks File 175 B 0755
euca-describe-conversion-tasks File 187 B 0755
euca-describe-customer-gateways File 190 B 0755
euca-describe-dhcp-options File 175 B 0755
euca-describe-group File 184 B 0755
euca-describe-groups File 184 B 0755
euca-describe-image-attribute File 184 B 0755
euca-describe-images File 160 B 0755
euca-describe-instance-attribute File 193 B 0755
euca-describe-instance-status File 184 B 0755
euca-describe-instance-types File 181 B 0755
euca-describe-instances File 169 B 0755
euca-describe-internet-gateways File 190 B 0755
euca-describe-keypairs File 166 B 0755
euca-describe-nat-gateways File 175 B 0755
euca-describe-network-acls File 175 B 0755
euca-describe-network-interface-attribute File 217 B 0755
euca-describe-network-interfaces File 193 B 0755
euca-describe-regions File 163 B 0755
euca-describe-route-tables File 175 B 0755
euca-describe-snapshot-attribute File 193 B 0755
euca-describe-snapshots File 169 B 0755
euca-describe-subnets File 163 B 0755
euca-describe-tags File 154 B 0755
euca-describe-volumes File 164 B 0755
euca-describe-vpc-attribute File 178 B 0755
euca-describe-vpc-peering-connections File 205 B 0755
euca-describe-vpcs File 154 B 0755
euca-describe-vpn-connections File 184 B 0755
euca-describe-vpn-gateways File 175 B 0755
euca-detach-internet-gateway File 181 B 0755
euca-detach-network-interface File 184 B 0755
euca-detach-volume File 154 B 0755
euca-detach-vpn-gateway File 166 B 0755
euca-disable-vgw-route-propagation File 196 B 0755
euca-disassociate-address File 175 B 0755
euca-disassociate-route-table File 184 B 0755
euca-download-and-unbundle File 180 B 0755
euca-download-bundle File 166 B 0755
euca-enable-vgw-route-propagation File 193 B 0755
euca-fingerprint-key File 186 B 0755
euca-generate-environment-config File 177 B 0755
euca-get-console-output File 166 B 0755
euca-get-password File 151 B 0755
euca-get-password-data File 163 B 0755
euca-import-instance File 160 B 0755
euca-import-keypair File 157 B 0755
euca-import-volume File 154 B 0755
euca-install-image File 160 B 0755
euca-modify-image-attribute File 178 B 0755
euca-modify-instance-attribute File 187 B 0755
euca-modify-instance-type File 199 B 0755
euca-modify-network-interface-attribute File 211 B 0755
euca-modify-snapshot-attribute File 187 B 0755
euca-modify-subnet-attribute File 181 B 0755
euca-modify-vpc-attribute File 172 B 0755
euca-monitor-instances File 166 B 0755
euca-reboot-instances File 163 B 0755
euca-register File 157 B 0755
euca-reject-vpc-peering-connection File 196 B 0755
euca-release-address File 160 B 0755
euca-replace-network-acl-association File 202 B 0755
euca-replace-network-acl-entry File 182 B 0755
euca-replace-route File 154 B 0755
euca-replace-route-table-association File 202 B 0755
euca-reset-image-attribute File 175 B 0755
euca-reset-instance-attribute File 184 B 0755
euca-reset-network-interface-attribute File 208 B 0755
euca-reset-snapshot-attribute File 184 B 0755
euca-resume-import File 154 B 0755
euca-revoke File 187 B 0755
euca-run-instances File 154 B 0755
euca-start-instances File 160 B 0755
euca-stop-instances File 157 B 0755
euca-terminate-instances File 172 B 0755
euca-unassign-private-ip-addresses File 196 B 0755
euca-unbundle File 148 B 0755
euca-unbundle-stream File 166 B 0755
euca-unmonitor-instances File 172 B 0755
euca-upload-bundle File 160 B 0755
euca-version File 261 B 0755
euform-cancel-update-stack File 191 B 0755
euform-continue-rollback File 206 B 0755
euform-create-stack File 173 B 0755
euform-delete-stack File 173 B 0755
euform-describe-stack-events File 197 B 0755
euform-describe-stack-resource File 203 B 0755
euform-describe-stack-resources File 206 B 0755
euform-describe-stacks File 182 B 0755
euform-get-template File 173 B 0755
euform-get-template-summary File 194 B 0755
euform-list-stack-resources File 194 B 0755
euform-list-stacks File 170 B 0755
euform-update-stack File 173 B 0755
euform-validate-template File 188 B 0755
euimage-describe-pack File 183 B 0755
euimage-install-pack File 180 B 0755
euimage-pack-image File 153 B 0755
eulb-apply-security-groups-to-lb File 251 B 0755
eulb-attach-lb-to-subnets File 233 B 0755
eulb-configure-healthcheck File 212 B 0755
eulb-create-app-cookie-stickiness-policy File 245 B 0755
eulb-create-lb File 206 B 0755
eulb-create-lb-cookie-stickiness-policy File 242 B 0755
eulb-create-lb-listeners File 233 B 0755
eulb-create-lb-policy File 224 B 0755
eulb-create-tags File 173 B 0755
eulb-delete-lb File 206 B 0755
eulb-delete-lb-listeners File 233 B 0755
eulb-delete-lb-policy File 224 B 0755
eulb-delete-tags File 182 B 0755
eulb-deregister-instances-from-lb File 257 B 0755
eulb-describe-instance-health File 218 B 0755
eulb-describe-lb-attributes File 242 B 0755
eulb-describe-lb-policies File 236 B 0755
eulb-describe-lb-policy-types File 245 B 0755
eulb-describe-lbs File 215 B 0755
eulb-describe-tags File 188 B 0755
eulb-detach-lb-from-subnets File 239 B 0755
eulb-disable-zones-for-lb File 269 B 0755
eulb-enable-zones-for-lb File 266 B 0755
eulb-modify-lb-attributes File 236 B 0755
eulb-register-instances-with-lb File 251 B 0755
eulb-set-lb-listener-ssl-cert File 263 B 0755
eulb-set-lb-policies-for-backend-server File 269 B 0755
eulb-set-lb-policies-of-listener File 251 B 0755
euscale-create-auto-scaling-group File 200 B 0755
euscale-create-launch-config File 209 B 0755
euscale-create-or-update-tags File 188 B 0755
euscale-delete-auto-scaling-group File 200 B 0755
euscale-delete-launch-config File 209 B 0755
euscale-delete-notification-configuration File 227 B 0755
euscale-delete-policy File 170 B 0755
euscale-delete-scheduled-action File 197 B 0755
euscale-delete-tags File 164 B 0755
euscale-describe-account-limits File 197 B 0755
euscale-describe-adjustment-types File 203 B 0755
euscale-describe-auto-scaling-groups File 209 B 0755
euscale-describe-auto-scaling-instances File 218 B 0755
euscale-describe-auto-scaling-notification-types File 242 B 0755
euscale-describe-launch-configs File 218 B 0755
euscale-describe-metric-collection-types File 221 B 0755
euscale-describe-notification-configurations File 236 B 0755
euscale-describe-policies File 182 B 0755
euscale-describe-process-types File 215 B 0755
euscale-describe-scaling-activities File 209 B 0755
euscale-describe-scheduled-actions File 206 B 0755
euscale-describe-tags File 170 B 0755
euscale-describe-termination-policy-types File 224 B 0755
euscale-disable-metrics-collection File 206 B 0755
euscale-enable-metrics-collection File 203 B 0755
euscale-execute-policy File 173 B 0755
euscale-put-notification-configuration File 218 B 0755
euscale-put-scaling-policy File 182 B 0755
euscale-put-scheduled-update-group-action File 221 B 0755
euscale-resume-processes File 179 B 0755
euscale-set-desired-capacity File 188 B 0755
euscale-set-instance-health File 185 B 0755
euscale-suspend-processes File 182 B 0755
euscale-terminate-instance-in-auto-scaling-group File 239 B 0755
euscale-update-auto-scaling-group File 200 B 0755
euwatch-delete-alarms File 168 B 0755
euwatch-describe-alarm-history File 192 B 0755
euwatch-describe-alarms File 174 B 0755
euwatch-describe-alarms-for-metric File 201 B 0755
euwatch-disable-alarm-actions File 189 B 0755
euwatch-enable-alarm-actions File 186 B 0755
euwatch-get-stats File 189 B 0755
euwatch-list-metrics File 165 B 0755
euwatch-put-data File 171 B 0755
euwatch-put-metric-alarm File 174 B 0755
euwatch-set-alarm-state File 171 B 0755
ex File 906.4 KB 0755
expand File 32.48 KB 0755
expect File 11.09 KB 0755
expr File 36.53 KB 0755
factor File 93.29 KB 0755
fallocate File 27.84 KB 0755
false File 28.25 KB 0755
fc File 26 B 0755
fc-cache File 132 B 0755
fc-cache-64 File 15.45 KB 0755
fc-cat File 15.4 KB 0755
fc-conflist File 11.2 KB 0755
fc-list File 11.26 KB 0755
fc-match File 11.32 KB 0755
fc-pattern File 11.26 KB 0755
fc-query File 11.23 KB 0755
fc-scan File 11.27 KB 0755
fc-validate File 11.27 KB 0755
fg File 26 B 0755
fgconsole File 11.16 KB 0755
fgrep File 290 B 0755
filan File 89.13 KB 0755
file File 19.3 KB 0755
find File 194.63 KB 0755
find-repos-of-install File 4.27 KB 0755
find2perl File 23.06 KB 0755
findmnt File 58.38 KB 0755
fipscheck File 15.37 KB 0755
fipshmac File 11.3 KB 0755
flex File 318.07 KB 0755
flex++ File 318.07 KB 0755
flock File 23.88 KB 0755
fmt File 36.48 KB 0755
fold File 36.46 KB 0755
fonttosfnt File 35.99 KB 0755
formail File 43.68 KB 0755
fprintd-delete File 11.22 KB 0755
fprintd-enroll File 15.88 KB 0755
fprintd-list File 11.25 KB 0755
fprintd-verify File 11.33 KB 0755
free File 19.33 KB 0755
freetype-config File 4.39 KB 0755
fribidi File 16.09 KB 0755
ftp File 85.5 KB 0755
ftp-rfc File 683 B 0755
funzip File 31.38 KB 0755
fusermount File 31.34 KB 0755
g++ File 754.59 KB 0755
galera_new_cluster File 917 B 0755
galera_recovery File 3.28 KB 0755
gapplication File 19.48 KB 0755
garb-systemd File 1.13 KB 0755
garbd File 1.93 MB 0755
gawk File 418.55 KB 0755
gcc File 750.59 KB 0755
gcc-ar File 26.45 KB 0755
gcc-nm File 26.45 KB 0755
gcc-ranlib File 26.45 KB 0755
gcore File 2.12 KB 0755
gcov File 307.45 KB 0755
gd2copypal File 7.06 KB 0755
gd2togif File 7.05 KB 0755
gd2topng File 11.06 KB 0755
gdb File 6.51 MB 0755
gdb-add-index File 1.09 KB 0755
gdbus File 40.17 KB 0755
gdcmpgif File 11.08 KB 0755
gdk-pixbuf-query-loaders-64 File 15.38 KB 0755
gdk-pixbuf-thumbnailer File 15.59 KB 0755
gdlib-config File 2.52 KB 0755
gdparttopng File 11.07 KB 0755
gdtopng File 7.04 KB 0755
gem File 542 B 0755
gencat File 22.11 KB 0755
genl-ctrl-list File 11.27 KB 0755
geoiplookup File 15.28 KB 0755
geoiplookup6 File 11.16 KB 0755
geoipupdate File 31.28 KB 0755
geqn File 144.41 KB 0755
getconf File 22.02 KB 0755
getent File 26.39 KB 0755
getfacl File 24.29 KB 0755
getfattr File 20.06 KB 0755
getkeycodes File 11.16 KB 0755
getopt File 15.38 KB 0755
getopts File 31 B 0755
gettext File 35.94 KB 0755
gettext.sh File 4.52 KB 0755
gettextize File 42.69 KB 0755
ghostscript File 10.97 KB 0755
giftogd2 File 7.05 KB 0755
gio File 73.41 KB 0755
gio-querymodules-64 File 11.31 KB 0755
git File 1.46 MB 0755
git-receive-pack File 1.46 MB 0755
git-shell File 722.04 KB 0755
git-upload-archive File 1.46 MB 0755
git-upload-pack File 795.48 KB 0755
glib-compile-schemas File 44.38 KB 0755
gmake File 178.47 KB 0755
gneqn File 271 B 0755
gnroff File 3.31 KB 0755
gpasswd File 76.57 KB 4755
gpg File 732.4 KB 0755
gpg-agent File 289.74 KB 0755
gpg-connect-agent File 152.69 KB 0755
gpg-error File 23.18 KB 0755
gpg-error-config File 1.83 KB 0755
gpg-zip File 3.23 KB 0755
gpg2 File 732.4 KB 0755
gpgconf File 140.31 KB 0755
gpgparsemail File 23.7 KB 0755
gpgsplit File 48.88 KB 0755
gpgv File 345.38 KB 0755
gpgv2 File 345.38 KB 0755
gpic File 180.41 KB 0755
gprof File 98.41 KB 0755
gr2fonttest File 23.66 KB 0755
grep File 155.3 KB 0755
groff File 81.63 KB 0755
grops File 140.85 KB 0755
grotty File 98.59 KB 0755
groups File 32.41 KB 0755
growpart File 21.13 KB 0755
grub2-editenv File 396.07 KB 0755
grub2-file File 834.34 KB 0755
grub2-fstest File 1.03 MB 0755
grub2-glue-efi File 258.84 KB 0755
grub2-kbdcomp File 1.63 KB 0755
grub2-menulst2cfg File 241.85 KB 0755
grub2-mkfont File 287.58 KB 0755
grub2-mkimage File 379.21 KB 0755
grub2-mklayout File 264.9 KB 0755
grub2-mknetdir File 429.8 KB 0755
grub2-mkpasswd-pbkdf2 File 271.29 KB 0755
grub2-mkrelpath File 258.48 KB 0755
grub2-mkrescue File 1021.84 KB 0755
grub2-mkstandalone File 534.33 KB 0755
grub2-render-label File 839.14 KB 0755
grub2-script-check File 295.41 KB 0755
grub2-syslinux2cfg File 763.57 KB 0755
gs File 10.97 KB 0755
gsbj File 350 B 0755
gsdj File 352 B 0755
gsdj500 File 352 B 0755
gsettings File 23.8 KB 0755
gslj File 353 B 0755
gslp File 350 B 0755
gsnd File 277 B 0755
gsoelim File 32.59 KB 0755
gss-client File 23.17 KB 0755
gstack File 1.05 KB 0755
gtar File 338.02 KB 0755
gtbl File 115.96 KB 0755
gtroff File 512.96 KB 0755
gunzip File 2.2 KB 0755
gzexe File 5.79 KB 0755
gzip File 98.43 KB 0755
h2ph File 27.65 KB 0755
h2xs File 59.15 KB 0755
head File 40.51 KB 0755
hesinfo File 11.09 KB 0755
hexdump File 32.02 KB 0755
hmac256 File 15.67 KB 0755
host File 127.02 KB 0755
hostid File 28.32 KB 0755
hostname File 15.41 KB 0755
hostnamectl File 318.07 KB 0755
htdbm File 56.14 KB 0755
htdigest File 29.35 KB 0755
htop File 165.65 KB 0755
htpasswd File 54.2 KB 0755
httxt2dbm File 21.69 KB 0755
hunspell File 53.11 KB 0755
i386 File 15.27 KB 0755
iceauth File 31.73 KB 0755
iconv File 58.14 KB 0755
id File 36.52 KB 0755
ident File 110.45 KB 0755
identify File 7.06 KB 0755
idiag-socket-details File 11.34 KB 0755
idle File 93 B 0755
idn File 32.45 KB 0755
ifnames File 4.03 KB 0755
igawk File 3.11 KB 0755
import File 7.05 KB 0755
imunify-antivirus File 1 KB 0755
imunify-service File 1020 B 0755
imunify360-agent File 1 KB 0755
imunify360-command-wrapper File 8.4 KB 0755
info File 265.19 KB 0755
infocmp File 56.07 KB 0755
infokey File 21.47 KB 0755
infotocap File 64.26 KB 0755
innochecksum File 3.54 MB 0755
install File 139.59 KB 0755
instmodsh File 4.15 KB 0755
ionice File 23.86 KB 0755
iostat File 60.79 KB 0755
ipcalc File 15.05 KB 0755
ipcmk File 24 KB 0755
ipcrm File 27.85 KB 0755
ipcs File 48.37 KB 0755
iptables-xml File 91.52 KB 0755
irb File 314 B 0755
isc-config.sh File 3.47 KB 0755
isosize File 23.83 KB 0755
ispell File 988 B 0755
isql File 31.69 KB 0755
iusql File 23.61 KB 0755
jobs File 28 B 0755
join File 48.75 KB 0755
journalctl File 537.88 KB 0755
jp.py File 1.64 KB 0755
jp.py-2 File 1.64 KB 0755
jp.py-2.7 File 1.64 KB 0755
js File 3.36 MB 0755
json_pp File 3.82 KB 0755
json_reformat File 35.89 KB 0755
json_verify File 27.52 KB 0755
json_xs File 6.74 KB 0755
jsonpointer File 1.31 KB 0755
jwhois File 72.96 KB 0755
kbd_mode File 11.16 KB 0755
kbdinfo File 11.19 KB 0755
kbdrate File 11.22 KB 0755
kcare-scanner-interface File 4.56 KB 0755
kcare-uname File 571 B 0755
kcarectl File 1.21 KB 0755
kdumpctl File 33.18 KB 0755
kernel-install File 4.7 KB 0755
keyctl File 27.94 KB 0755
kibitz File 10.63 KB 0755
kill File 32.82 KB 0755
killall File 24.14 KB 0755
kmod File 143.24 KB 0755
krb5-config File 6.96 KB 0755
last File 19.11 KB 0755
lastb File 19.11 KB 0755
lastcomm File 28 KB 0755
lastlog File 19.15 KB 0755
lchfn File 15.52 KB 0755
lchsh File 15.49 KB 0755
ld File 982.59 KB 0755
ld.bfd File 982.59 KB 0755
ld.gold File 5.11 MB 0755
ldd File 5.18 KB 0755
less File 154.57 KB 0755
lessecho File 11.13 KB 0755
lesskey File 16.67 KB 0755
lesspipe.sh File 2.24 KB 0755
lex File 318.07 KB 0755
lexgrog File 85.09 KB 0755
libcare-cron File 1.06 KB 0755
libgcrypt-config File 3.78 KB 0755
libnetcfg File 15.36 KB 0755
libpng-config File 2.38 KB 0755
libpng15-config File 2.38 KB 0755
libtar File 15.39 KB 0755
libtool File 314.04 KB 0755
libtoolize File 76.8 KB 0755
libwmf-fontmap File 12.78 KB 0755
link File 28.3 KB 0755
links File 1.3 MB 0755
linux-boot-prober File 5.85 KB 0755
linux32 File 15.27 KB 0755
linux64 File 15.27 KB 0755
ln File 57.22 KB 0755
loadkeys File 110.48 KB 0755
loadunimap File 23.88 KB 0755
locale File 37.11 KB 0755
localectl File 326.23 KB 0755
localedef File 318.31 KB 0755
locate File 39.57 KB 0711
lockfile File 19.36 KB 0755
logger File 28.62 KB 0755
login File 36.38 KB 0755
loginctl File 489.6 KB 0755
logname File 28.31 KB 0755
logresolve File 28.58 KB 0755
look File 11.27 KB 0755
lprsetup.sh File 5.34 KB 0755
lpunlock File 2.56 KB 0755
ls File 114.85 KB 0755
lsattr File 11.25 KB 0755
lsblk File 79.17 KB 0755
lscpu File 60.75 KB 0755
lsinitrd File 6.26 KB 0755
lsipc File 60.95 KB 0755
lslocks File 41.01 KB 0755
lslogins File 52.88 KB 0755
lsmcli File 945 B 0755
lsmd File 23.45 KB 0755
lsmem File 40.78 KB 0755
lsns File 36.43 KB 0755
lsphp File 937 B 0755
lsusb File 100.23 KB 0755
lsusb.py File 13.09 KB 0755
lua File 15.47 KB 0755
luac File 119.03 KB 0755
lwp-download File 8.43 KB 0755
lwp-dump File 2.73 KB 0755
lwp-mirror File 2.42 KB 0755
lwp-request File 14.71 KB 0755
lynx File 1.43 MB 0755
lz4 File 105.87 KB 0755
lz4c File 105.87 KB 0755
lz4cat File 105.87 KB 0755
lzcat File 73.52 KB 0755
lzcmp File 6.48 KB 0755
lzdiff File 6.48 KB 0755
lzegrep File 5.76 KB 0755
lzfgrep File 5.76 KB 0755
lzgrep File 5.76 KB 0755
lzless File 1.76 KB 0755
lzma File 73.52 KB 0755
lzmadec File 11.21 KB 0755
lzmainfo File 11.2 KB 0755
lzmore File 2.11 KB 0755
m4 File 151.17 KB 0755
machinectl File 533.93 KB 0755
mail File 383.67 KB 0755
mailstat File 5.72 KB 0755
mailx File 383.67 KB 0755
make File 178.47 KB 0755
makedb File 18.11 KB 0755
man File 100.44 KB 0755
mandb File 122.25 KB 0755
manpath File 32.55 KB 0755
mapscrn File 19.78 KB 0755
mariadb-service-convert File 2.45 KB 0755
mariadb_config File 11.57 KB 0755
mcookie File 15.44 KB 0755
md5sum File 40.53 KB 0755
mdig File 44.2 KB 0755
mech-dump File 4 KB 0755
memcached File 108.77 KB 0755
memcached-tool File 4.18 KB 0755
merge File 110.43 KB 0755
mesg File 10.98 KB 0755
miniterm.py File 25.48 KB 0755
mkdir File 77.9 KB 0755
mkfifo File 61.59 KB 0755
mkfontdir File 65 B 0755
mkfontscale File 32.48 KB 0755
mkinitrd File 2.94 KB 0755
mknod File 65.61 KB 0755
mkpasswd File 5.56 KB 0755
mktemp File 40.66 KB 0755
modutil File 165.78 KB 0755
mogrify File 7.05 KB 0755
montage File 7.05 KB 0755
more File 40.15 KB 0755
mount File 43.23 KB 4755
mountpoint File 15.32 KB 0755
mpstat File 56.54 KB 0755
msgattrib File 23.36 KB 0755
msgcat File 23.34 KB 0755
msgcmp File 23.59 KB 0755
msgcomm File 19.31 KB 0755
msgconv File 19.3 KB 0755
msgen File 19.3 KB 0755
msgexec File 15.33 KB 0755
msgfilter File 27.56 KB 0755
msgfmt File 77.05 KB 0755
msgfmt.py File 6.33 KB 0755
msggrep File 35.97 KB 0755
msghack File 12.45 KB 0755
msginit File 44.38 KB 0755
msgmerge File 52.6 KB 0755
msgunfmt File 31.7 KB 0755
msguniq File 19.31 KB 0755
msql2mysql File 1.41 KB 0755
mv File 127.3 KB 0755
my_print_defaults File 3.41 MB 0755
myisam_ftdump File 3.78 MB 0755
myisamchk File 3.9 MB 0755
myisamlog File 3.75 MB 0755
myisampack File 3.8 MB 0755
mysql File 4.21 MB 0755
mysql_config File 4.58 KB 0755
mysql_convert_table_format File 4.12 KB 0755
mysql_embedded File 20.36 MB 0755
mysql_find_rows File 3.21 KB 0755
mysql_fix_extensions File 1.22 KB 0755
mysql_install_db File 19.7 KB 0755
mysql_plugin File 3.42 MB 0755
mysql_secure_installation File 12.23 KB 0755
mysql_setpermission File 17.13 KB 0755
mysql_tzinfo_to_sql File 3.42 MB 0755
mysql_upgrade File 3.5 MB 0755
mysql_waitpid File 3.41 MB 0755
mysqlaccess File 109.33 KB 0755
mysqladmin File 3.73 MB 0755
mysqlbinlog File 3.98 MB 0755
mysqlcheck File 3.73 MB 0755
mysqld_multi File 26.69 KB 0755
mysqld_safe File 30.06 KB 0755
mysqld_safe_helper File 3.38 MB 0755
mysqldump File 3.83 MB 0755
mysqldumpslow File 8.05 KB 0755
mysqlhotcopy File 34.14 KB 0755
mysqlimport File 3.72 MB 0755
mysqlshow File 3.72 MB 0755
mysqlslap File 3.74 MB 0755
nail File 383.67 KB 0755
named-rrchecker File 15.32 KB 0755
namei File 27.95 KB 0755
nano File 201.08 KB 0755
nc File 371.27 KB 0755
ncat File 371.27 KB 0755
ncurses5-config File 5.68 KB 0755
ncursesw5-config File 5.68 KB 0755
needs-restarting File 8.17 KB 0755
neqn File 271 B 0755
netstat File 151.38 KB 0755
newgidmap File 38.09 KB 0755
newgrp File 40.95 KB 0755
newuidmap File 38.06 KB 0755
nf-ct-add File 11.8 KB 0755
nf-ct-list File 15.84 KB 0755
nf-exp-add File 16.21 KB 0755
nf-exp-delete File 15.99 KB 0755
nf-exp-list File 11.8 KB 0755
nf-log File 11.23 KB 0755
nf-monitor File 11.18 KB 0755
nf-queue File 11.27 KB 0755
nfsiostat-sysstat File 52.55 KB 0755
ngettext File 35.95 KB 0755
nice File 32.32 KB 0755
nisdomainname File 15.41 KB 0755
nl File 40.6 KB 0755
nl-addr-add File 11.65 KB 0755
nl-addr-delete File 11.73 KB 0755
nl-addr-list File 15.88 KB 0755
nl-class-add File 11.7 KB 0755
nl-class-delete File 11.55 KB 0755
nl-class-list File 11.48 KB 0755
nl-classid-lookup File 11.29 KB 0755
nl-cls-add File 11.76 KB 0755
nl-cls-delete File 11.68 KB 0755
nl-cls-list File 11.58 KB 0755
nl-fib-lookup File 11.41 KB 0755
nl-link-enslave File 7.05 KB 0755
nl-link-ifindex2name File 7.06 KB 0755
nl-link-list File 11.52 KB 0755
nl-link-name2ifindex File 7.05 KB 0755
nl-link-release File 7.05 KB 0755
nl-link-set File 11.64 KB 0755
nl-link-stats File 11.39 KB 0755
nl-list-caches File 11.08 KB 0755
nl-list-sockets File 7.06 KB 0755
nl-monitor File 11.2 KB 0755
nl-neigh-add File 11.51 KB 0755
nl-neigh-delete File 11.57 KB 0755
nl-neigh-list File 11.46 KB 0755
nl-neightbl-list File 11.27 KB 0755
nl-pktloc-lookup File 11.36 KB 0755
nl-qdisc-add File 11.6 KB 0755
nl-qdisc-delete File 11.54 KB 0755
nl-qdisc-list File 11.63 KB 0755
nl-route-add File 11.73 KB 0755
nl-route-delete File 15.86 KB 0755
nl-route-get File 11.18 KB 0755
nl-route-list File 11.77 KB 0755
nl-rule-list File 11.3 KB 0755
nl-tctree-list File 11.53 KB 0755
nl-util-addr File 7.03 KB 0755
nm File 45.43 KB 0755
nohup File 32.42 KB 0755
nproc File 32.37 KB 0755
nroff File 3.31 KB 0755
nsenter File 28.22 KB 0755
nslookup File 130.93 KB 0755
nss-policy-check File 15.26 KB 0755
nsupdate File 65.2 KB 0755
numfmt File 64.71 KB 0755
objcopy File 227.34 KB 0755
objdump File 357.75 KB 0755
od File 64.81 KB 0755
odbc_config File 11.04 KB 0755
odbcinst File 27.69 KB 0755
oldfind File 186.41 KB 0755
on_ac_power File 1.47 KB 0755
open File 19.48 KB 0755
openssl File 542.27 KB 0755
openvt File 19.48 KB 0755
os-prober File 5.51 KB 0755
p11-kit File 32.18 KB 0755
package-cleanup File 17.39 KB 0755
package-stash-conflicts File 487 B 0755
page_owner_sort File 10.2 KB 0755
pango-list File 11.1 KB 0755
pango-querymodules-64 File 28.26 KB 0755
pango-view File 49.47 KB 0755
paperconf File 11.23 KB 0755
passmass File 4.63 KB 0755
passwd File 27.2 KB 4755
paste File 32.34 KB 0755
patch File 147 KB 0755
pathchk File 32.31 KB 0755
pchrt File 3.93 KB 0755
pcre-config File 2.09 KB 0755
pdf2dsc File 698 B 0755
pdf2ps File 909 B 0755
peekfd File 11.21 KB 0755
perl File 11.14 KB 0755
perl5.16.3 File 11.14 KB 0755
perlbug File 43.61 KB 0755
perldoc File 203 B 0755
perlivp File 10.52 KB 0755
perlml File 5.98 KB 0755
perlthanks File 43.61 KB 0755
perror File 3.6 MB 0755
pf2afm File 498 B 0755
pfbtopfa File 516 B 0755
pflags File 2.06 KB 0755
pftp File 85.5 KB 0755
pgawk File 418.59 KB 0755
pgrep File 27.67 KB 0755
php File 937 B 0755
pic File 180.41 KB 0755
piconv File 7.99 KB 0755
pidstat File 68.91 KB 0755
pinentry File 2.54 KB 0755
pinentry-curses File 49.19 KB 0755
pinfo File 98.52 KB 0755
ping File 64.63 KB 0755
ping6 File 64.63 KB 0755
pinky File 36.57 KB 0755
pk12util File 103.22 KB 0755
pkaction File 15 KB 0755
pkcheck File 23.03 KB 0755
pkexec File 27.02 KB 4755
pkg-config File 44.38 KB 0755
pkill File 27.67 KB 0755
pkla-admin-identities File 19.23 KB 0755
pkla-check-authorization File 27.3 KB 0755
pkttyagent File 18.98 KB 0755
pl2pm File 4.42 KB 0755
pldd File 14.11 KB 0755
plesk_configure File 450 B 0755
pm-is-supported File 983 B 0755
pmap File 27.61 KB 0755
pngtogd File 7.05 KB 0755
pngtogd2 File 7.05 KB 0755
pod2html File 4 KB 0755
pod2latex File 10.1 KB 0755
pod2man File 13.26 KB 0755
pod2text File 10.75 KB 0755
pod2usage File 3.67 KB 0755
podchecker File 3.7 KB 0755
podlint File 1.55 KB 0755
podselect File 2.55 KB 0755
pom2 File 3.8 KB 0755
pomdump File 1.26 KB 0755
post-grohtml File 187.55 KB 0755
powernow-k8-decode File 6.15 KB 0755
pphs File 404 B 0755
pr File 65.11 KB 0755
pre-grohtml File 86.24 KB 0755
precat File 5.52 KB 0755
preconv File 40.88 KB 0755
preunzip File 5.52 KB 0755
prezip File 5.52 KB 0755
prezip-bin File 11.05 KB 0755
printafm File 395 B 0755
printenv File 28.28 KB 0755
printf File 48.61 KB 0755
prlimit File 41.2 KB 0755
procan File 76.99 KB 0755
procmail File 105.45 KB 0755
prove File 13.13 KB 0755
prtstat File 15.25 KB 0755
ps File 97.77 KB 0755
ps2ascii File 631 B 0755
ps2epsi File 2.69 KB 0755
ps2pdf File 272 B 0755
ps2pdf12 File 215 B 0755
ps2pdf13 File 215 B 0755
ps2pdf14 File 215 B 0755
ps2pdfwr File 1.07 KB 0755
ps2ps File 647 B 0755
ps2ps2 File 669 B 0755
psed File 52.08 KB 0755
psfaddtable File 19.48 KB 0755
psfgettable File 19.48 KB 0755
psfstriptable File 19.48 KB 0755
psfxtable File 19.48 KB 0755
pspell-config File 384 B 0755
pstack File 1.05 KB 0755
pstree File 27.84 KB 0755
pstree.x11 File 27.84 KB 0755
pstruct File 35.75 KB 0755
ptar File 3.43 KB 0755
ptardiff File 2.41 KB 0755
ptargrep File 4.13 KB 0755
ptaskset File 3.8 KB 0755
ptx File 65.08 KB 0755
pure-pw File 33.97 KB 0755
pure-pwconvert File 9.93 KB 0755
pure-statsdecode File 9.93 KB 0755
pwd File 32.45 KB 0755
pwdx File 11.27 KB 0755
pwmake File 11.13 KB 0755
pwscore File 11.13 KB 0755
pydoc File 78 B 0755
pygettext.py File 21.57 KB 0755
pynche File 137 B 0755
python File 6.98 KB 0755
python-config File 1.79 KB 0755
python2 File 6.98 KB 0755
python2-config File 1.79 KB 0755
python2.7 File 6.98 KB 0755
python2.7-config File 1.79 KB 0755
pyzor File 165 B 0755
pyzor-migrate File 181 B 0755
pyzord File 167 B 0755
qemu-ga File 267.8 KB 0755
qemu-img File 800.89 KB 0755
qemu-io File 772.91 KB 0755
qemu-nbd File 777.15 KB 0755
quota File 83.31 KB 4755
quotasync File 70.84 KB 0755
ranlib File 61.21 KB 0755
raw File 15.27 KB 0755
rcs File 175.6 KB 0755
rcsclean File 819 B 0755
rcsdiff File 816 B 0755
rcsfreeze File 4.34 KB 0755
rcsmerge File 819 B 0755
rdate File 10.3 KB 0755
rdoc File 934 B 0755
read File 28 B 0755
readelf File 509.84 KB 0755
readlink File 40.82 KB 0755
realpath File 61.23 KB 0755
recode-sr-latin File 15.29 KB 0755
red File 89 B 0755
rename File 11.26 KB 0755
renice File 11.21 KB 0755
replace File 3.39 MB 0755
repo-graph File 4.09 KB 0755
repo-rss File 10.07 KB 0755
repoclosure File 11.42 KB 0755
repodiff File 13.97 KB 0755
repomanage File 6.88 KB 0755
repoquery File 55.68 KB 0755
report-cli File 28.03 KB 0755
reporter-mailx File 32.1 KB 0755
reporter-mantisbt File 56.94 KB 0755
reporter-rhtsupport File 53.04 KB 0755
reporter-ureport File 19.3 KB 0755
reposync File 14.14 KB 0755
repotrack File 9.86 KB 0755
rescan-scsi-bus.sh File 33.81 KB 0755
reset File 19.59 KB 0755
resize-part-image File 4.25 KB 0755
resizecons File 19.63 KB 0755
resolve_stack_dump File 3.41 MB 0755
resolveip File 3.41 MB 0755
rev File 11.26 KB 0755
rftp File 8.68 KB 0755
ri File 184 B 0755
rlog File 807 B 0755
rlogin-cwd File 501 B 0755
rm File 61.4 KB 0755
rmdir File 44.46 KB 0755
rnano File 201.08 KB 0755
rngtest File 16.02 KB 0755
rpcgen File 90.45 KB 0755
rpm File 15.75 KB 0755
rpm2cpio File 11.16 KB 0755
rpmdb File 11.73 KB 0755
rpmkeys File 11.73 KB 0755
rpmquery File 15.75 KB 0755
rpmverify File 15.75 KB 0755
rsync File 488.38 KB 0755
rsyslog-recover-qi.pl File 5.96 KB 0755
ruby File 7.02 KB 0755
run-parts File 2.04 KB 0755
run-with-aspell File 85 B 0755
runcon File 32.47 KB 0755
rvi File 906.4 KB 0755
rview File 906.4 KB 0755
rvim File 2.23 MB 0755
s2p File 52.08 KB 0755
sadf File 168.46 KB 0755
sandbox File 17.52 KB 0755
sar File 95.4 KB 0755
sasl2-sample-client File 19.27 KB 0755
sasl2-sample-server File 19.1 KB 0755
satyr File 15.4 KB 0755
scl File 19.5 KB 0755
scl_enabled File 258 B 0755
scl_source File 1.83 KB 0755
scp File 89.23 KB 0755
screen File 464.1 KB 2755
script File 19.61 KB 0755
scriptreplay File 15.29 KB 0755
scsi-rescan File 33.81 KB 0755
scsi_logging_level File 7.72 KB 0755
scsi_mandat File 3.55 KB 0755
scsi_readcap File 1.3 KB 0755
scsi_ready File 1.09 KB 0755
scsi_satl File 3.76 KB 0755
scsi_start File 1.25 KB 0755
scsi_stop File 1.44 KB 0755
scsi_temperature File 936 B 0755
sdiff File 48.41 KB 0755
secon File 24.06 KB 0755
sed File 74.29 KB 0755
sedismod File 249.42 KB 0755
sedispol File 176.32 KB 0755
semodule_package File 15.3 KB 0755
seq File 48.48 KB 0755
sessreg File 11.24 KB 0755
setarch File 15.27 KB 0755
setfacl File 36.73 KB 0755
setfattr File 15.71 KB 0755
setfont File 40.38 KB 0755
setkeycodes File 11.16 KB 0755
setleds File 11.16 KB 0755
setmetamode File 11.21 KB 0755
setpriv File 36.06 KB 0755
setserial File 20.54 KB 0755
setsid File 11.23 KB 0755
setterm File 27.48 KB 0755
setup File 6.95 KB 0755
setup-nsssysinit File 1.5 KB 0755
setup-nsssysinit.sh File 1.5 KB 0755
setvtrgb File 11.34 KB 0755
sftp File 142.01 KB 0755
sg File 40.95 KB 0755
sg_compare_and_write File 15.82 KB 0755
sg_copy_results File 20.02 KB 0755
sg_dd File 43.63 KB 0755
sg_decode_sense File 15.49 KB 0755
sg_emc_trespass File 11.09 KB 0755
sg_format File 24.05 KB 0755
sg_get_config File 28.22 KB 0755
sg_get_lba_status File 15.5 KB 0755
sg_ident File 15.46 KB 0755
sg_inq File 83.68 KB 0755
sg_logs File 92.48 KB 0755
sg_luns File 19.65 KB 0755
sg_map File 15.23 KB 0755
sg_map26 File 23.77 KB 0755
sg_modes File 29.3 KB 0755
sg_opcodes File 23.88 KB 0755
sg_persist File 28.34 KB 0755
sg_prevent File 11.29 KB 0755
sg_raw File 19.78 KB 0755
sg_rbuf File 19.66 KB 0755
sg_rdac File 15.13 KB 0755
sg_read File 23.33 KB 0755
sg_read_block_limits File 11.31 KB 0755
sg_read_buffer File 15.53 KB 0755
sg_read_long File 15.55 KB 0755
sg_readcap File 19.66 KB 0755
sg_reassign File 15.54 KB 0755
sg_referrals File 15.48 KB 0755
sg_requests File 15.58 KB 0755
sg_reset File 11.46 KB 0755
sg_rmsn File 11.32 KB 0755
sg_rtpg File 15.39 KB 0755
sg_safte File 19.59 KB 0755
sg_sanitize File 19.88 KB 0755
sg_sat_identify File 15.55 KB 0755
sg_sat_phy_event File 15.87 KB 0755
sg_sat_set_features File 15.41 KB 0755
sg_scan File 15.34 KB 0755
sg_senddiag File 20.02 KB 0755
sg_ses File 67.55 KB 0755
sg_start File 19.7 KB 0755
sg_stpg File 19.61 KB 0755
sg_sync File 15.52 KB 0755
sg_test_rwbuf File 15.6 KB 0755
sg_turs File 15.48 KB 0755
sg_unmap File 15.5 KB 0755
sg_verify File 15.7 KB 0755
sg_vpd File 77.67 KB 0755
sg_wr_mode File 19.55 KB 0755
sg_write_buffer File 15.66 KB 0755
sg_write_long File 15.55 KB 0755
sg_write_same File 19.9 KB 0755
sg_xcopy File 35.61 KB 0755
sginfo File 65.8 KB 0755
sgm_dd File 31.52 KB 0755
sgp_dd File 35.83 KB 0755
sh File 941.93 KB 0755
sha1sum File 36.57 KB 0755
sha224sum File 40.63 KB 0755
sha256sum File 40.63 KB 0755
sha384sum File 40.65 KB 0755
sha512sum File 40.65 KB 0755
shar File 154.05 KB 0755
shasum File 8.4 KB 0755
show-changed-rco File 10.13 KB 0755
show-installed File 16.18 KB 0755
showconsolefont File 15.47 KB 0755
showkey File 15.23 KB 0755
showrgb File 7.08 KB 0755
shred File 52.94 KB 0755
shuf File 49.13 KB 0755
signver File 102.6 KB 0755
sim_client File 14.97 KB 0755
sim_lsmplugin File 1.22 KB 0755
simc_lsmplugin File 105.79 KB 0755
size File 32.35 KB 0755
skill File 23.62 KB 0755
slabinfo File 34.96 KB 0755
slabtop File 19.52 KB 0755
sleep File 32.35 KB 0755
slogin File 760.44 KB 0755
smtpd.py File 18.1 KB 0755
snice File 23.62 KB 0755
snmpkey File 4.7 KB 0755
socat File 380.43 KB 0755
soelim File 32.59 KB 0755
sort File 114.94 KB 0755
sotruss File 4.24 KB 0755
spell File 122 B 0755
splain File 18.03 KB 0755
split File 69.47 KB 0755
sprof File 22.1 KB 0755
sqlite3 File 54.95 KB 0755
ssh File 760.44 KB 0755
ssh-add File 348.48 KB 0755
ssh-agent File 373.23 KB 2111
ssh-copy-id File 10.22 KB 0755
ssh-keygen File 409.4 KB 0755
ssh-keyscan File 434.7 KB 0755
sshpass File 15.37 KB 0755
ssltap File 118.41 KB 0755
stap-merge File 10.96 KB 0755
stap-report File 4.74 KB 0755
stapbpf File 64.53 KB 0755
stapdyn File 195.27 KB 0755
staprun File 207.11 KB 4110
stapsh File 23.18 KB 0755
stat File 77.19 KB 0755
stdbuf File 64.88 KB 0755
strace File 1009.22 KB 0755
strace-log-merge File 1.28 KB 0755
stream File 7.05 KB 0755
strings File 36.53 KB 0755
strip File 227.32 KB 0755
stty File 68.61 KB 0755
stunnel File 139.29 KB 0755
su File 31.38 KB 4750
sudo File 147.88 KB 4111
sudoedit File 147.88 KB 4111
sudoreplay File 56.11 KB 0111
sum File 36.55 KB 0755
sw-engine File 22.34 MB 0755
sxpm File 19.83 KB 0755
sync File 28.33 KB 0755
systemctl File 704.8 KB 0755
systemd-analyze File 1.49 MB 0755
systemd-ask-password File 60.38 KB 0755
systemd-cat File 39.98 KB 0755
systemd-cgls File 326.31 KB 0755
systemd-cgtop File 85.09 KB 0755
systemd-coredumpctl File 154.52 KB 0755
systemd-delta File 76.84 KB 0755
systemd-detect-virt File 39.97 KB 0755
systemd-escape File 48.2 KB 0755
systemd-firstboot File 101.52 KB 0755
systemd-hwdb File 85.31 KB 0755
systemd-inhibit File 309.83 KB 0755
systemd-loginctl File 489.6 KB 0755
systemd-machine-id-setup File 52.23 KB 0755
systemd-notify File 48.13 KB 0755
systemd-nspawn File 545.88 KB 0755
systemd-path File 52.16 KB 0755
systemd-run File 387.05 KB 0755
systemd-stdio-bridge File 305.77 KB 0755
systemd-sysv-convert File 3.89 KB 0755
systemd-tmpfiles File 146.13 KB 0755
systemd-tty-ask-password-agent File 84.75 KB 0755
tabs File 15.3 KB 0755
tac File 32.48 KB 0755
tail File 65.25 KB 0755
tailf File 23.88 KB 0755
tapestat File 52.56 KB 0755
tar File 338.02 KB 0755
taskset File 32.22 KB 0755
tbl File 115.96 KB 0755
tcamgr File 23.47 KB 0755
tcamttest File 19.37 KB 0755
tcatest File 52.78 KB 0755
tcbmgr File 27.66 KB 0755
tcbmttest File 47.96 KB 0755
tcbtest File 64.47 KB 0755
tcfmgr File 19.5 KB 0755
tcfmttest File 31.79 KB 0755
tcftest File 43.86 KB 0755
tchmgr File 23.52 KB 0755
tchmttest File 43.87 KB 0755
tchtest File 52.29 KB 0755
tclsh File 7 KB 0755
tclsh8.5 File 7 KB 0755
tcptraceroute File 1.44 KB 0755
tcsh File 395.15 KB 0755
tctmgr File 31.82 KB 0755
tctmttest File 39.72 KB 0755
tcttest File 51.9 KB 0755
tcucodec File 31.75 KB 0755
tcumttest File 19.52 KB 0755
tcutest File 65.61 KB 0755
teamd File 155.09 KB 0755
teamdctl File 28.98 KB 0755
teamnl File 19.09 KB 0755
tee File 32.38 KB 0755
telnet File 99.41 KB 0755
test File 36.46 KB 0755
testgdbm File 29.77 KB 0755
testrb File 74 B 0755
tic File 64.26 KB 0755
time File 15.55 KB 0755
timed-read File 303 B 0755
timed-run File 277 B 0755
timedatectl File 330.2 KB 0755
timeout File 53.31 KB 0755
tload File 15.38 KB 0755
tmon File 31.11 KB 0755
tmpwatch File 27.87 KB 0755
toe File 15.42 KB 0755
top File 104.38 KB 0755
touch File 61.02 KB 0755
tpage File 8.34 KB 0755
tput File 15.43 KB 0755
tr File 44.61 KB 0755
tracepath File 15.05 KB 0755
tracepath6 File 15.05 KB 0755
traceroute File 61.86 KB 0755
traceroute6 File 61.86 KB 0755
troff File 512.96 KB 0755
true File 28.26 KB 0755
truncate File 52.68 KB 0755
trust File 179.08 KB 0755
tset File 19.59 KB 0755
tsort File 36.47 KB 0755
ttree File 37.26 KB 0755
tty File 28.29 KB 0755
turbostat File 113.15 KB 0755
tzselect File 7.17 KB 0755
uapi File 3.02 MB 0755
ucs2any File 19.47 KB 0755
udevadm File 414.27 KB 0755
ul File 19.47 KB 0755
ulockmgr_server File 15.11 KB 0755
umask File 29 B 0755
umount File 31.23 KB 4755
unalias File 31 B 0755
uname File 32.3 KB 0755
unbuffer File 640 B 0755
unexpand File 32.45 KB 0755
unicode_start File 2.5 KB 0755
unicode_stop File 363 B 0755
uniq File 44.71 KB 0755
unix-lpr.sh File 4.07 KB 0755
unlink File 28.3 KB 0755
unlz4 File 105.87 KB 0755
unlzma File 73.52 KB 0755
unshar File 108.52 KB 0755
unshare File 15.45 KB 0755
unxz File 73.52 KB 0755
unzip File 185.16 KB 0755
unzipsfx File 88.66 KB 0755
update-ca-trust File 1.03 KB 0755
update-desktop-database File 19.7 KB 0755
update-mime-database File 52.82 KB 0755
updatedb File 47.65 KB 0755
uptime File 11.22 KB 0755
urlgrabber File 12.17 KB 0755
usb-devices File 4.12 KB 0755
usbhid-dump File 27.72 KB 0755
users File 32.42 KB 0755
usleep File 10.95 KB 0755
utmpdump File 15.45 KB 0755
uuclient File 14.97 KB 0755
uudecode File 103.99 KB 0755
uuencode File 103.98 KB 0755
uuidgen File 11.21 KB 0755
vdir File 114.85 KB 0755
vdo File 48.69 KB 0755
vdo-by-dev File 1.44 KB 0755
vdodmeventd File 62.33 KB 0755
vdodumpconfig File 556.88 KB 0755
vdoforcerebuild File 532.48 KB 0755
vdoformat File 561.15 KB 0755
vdoprepareupgrade File 532.23 KB 0755
vdoreadonly File 532.24 KB 0755
vdostats File 10.09 KB 0755
verify_blkparse File 11.16 KB 0755
verifytree File 10.79 KB 0755
vi File 906.4 KB 0755
view File 906.4 KB 0755
vim File 2.23 MB 0755
vimdiff File 2.23 MB 0755
vimtutor File 2.04 KB 0755
vlock File 15.73 KB 0755
vmstat File 31.48 KB 0755
w File 19.45 KB 0755
wait File 28 B 0755
wall File 14.98 KB 2555
watch File 24.14 KB 0755
watchgnupg File 15.35 KB 0755
wc File 40.67 KB 0755
wdctl File 40.7 KB 0755
weather File 2.18 KB 0755
webpng File 11.15 KB 0755
wget File 408.97 KB 0755
whatis File 45.49 KB 0755
whereis File 20.2 KB 0755
which File 23.77 KB 0755
whiptail File 27.84 KB 0755
who File 48.7 KB 0755
whoami File 28.3 KB 0755
whois File 72.96 KB 0755
wish File 7.04 KB 0755
wish8.5 File 7.04 KB 0755
wmf2eps File 15.29 KB 0755
wmf2fig File 15.27 KB 0755
wmf2gd File 15.26 KB 0755
wmf2svg File 15.3 KB 0755
wmf2x File 15.25 KB 0755
word-list-compress File 11.03 KB 0755
wp File 5.31 MB 0755
write File 19.09 KB 2755
write-mime-multipart File 3.21 KB 0755
wsrep_sst_backup File 2.95 KB 0755
wsrep_sst_common File 54.05 KB 0644
wsrep_sst_mariabackup File 50.87 KB 0755
wsrep_sst_mysqldump File 7.67 KB 0755
wsrep_sst_rsync File 32.17 KB 0755
wsrep_sst_rsync_wan File 32.17 KB 0755
x86_64 File 15.27 KB 0755
x86_64-redhat-linux-c++ File 754.59 KB 0755
x86_64-redhat-linux-g++ File 754.59 KB 0755
x86_64-redhat-linux-gcc File 750.59 KB 0755
x86_energy_perf_policy File 10.23 KB 0755
xargs File 60.91 KB 0755
xdg-desktop-icon File 19.05 KB 0755
xdg-desktop-menu File 41.91 KB 0755
xdg-email File 23.4 KB 0755
xdg-icon-resource File 28.05 KB 0755
xdg-mime File 38.43 KB 0755
xdg-open File 18.84 KB 0755
xdg-screensaver File 27.86 KB 0755
xdg-settings File 32.79 KB 0755
xgamma File 11.15 KB 0755
xgettext File 265.35 KB 0755
xhost File 15.38 KB 0755
xinput File 52.81 KB 0755
xkibitz File 4.75 KB 0755
xkill File 15.27 KB 0755
xml2-config File 1.68 KB 0755
xmlcatalog File 15.3 KB 0755
xmllint File 61.94 KB 0755
xmlwf File 24 KB 0755
xmodmap File 32.28 KB 0755
xorg-x11-fonts-update-dirs File 1.29 KB 0744
xrandr File 60.06 KB 0755
xrdb File 27.78 KB 0755
xrefresh File 11.16 KB 0755
xset File 31.72 KB 0755
xsetmode File 11.1 KB 0755
xsetpointer File 11.13 KB 0755
xsetroot File 19.38 KB 0755
xslt-config File 2.36 KB 0755
xsltproc File 23.5 KB 0755
xstdcmap File 15.77 KB 0755
xsubpp File 4.45 KB 0755
xxd File 14.42 KB 0755
xz File 73.52 KB 0755
xzcat File 73.52 KB 0755
xzcmp File 6.48 KB 0755
xzdec File 11.21 KB 0755
xzdiff File 6.48 KB 0755
xzegrep File 5.76 KB 0755
xzfgrep File 5.76 KB 0755
xzgrep File 5.76 KB 0755
xzless File 1.76 KB 0755
xzmore File 2.11 KB 0755
yes File 28.3 KB 0755
ypdomainname File 15.41 KB 0755
yum File 801 B 0755
yum-builddep File 9.95 KB 0755
yum-config-manager File 9.35 KB 0755
yum-debug-dump File 8.34 KB 0755
yum-debug-restore File 7.72 KB 0755
yum-groups-manager File 10.77 KB 0755
yumdownloader File 10.85 KB 0755
zcat File 1.9 KB 0755
zcmp File 1.72 KB 0755
zdiff File 5.63 KB 0755
zegrep File 123 B 0755
zfgrep File 123 B 0755
zforce File 2.09 KB 0755
zgrep File 5.98 KB 0755
zip File 210.78 KB 0755
zipcloak File 98.1 KB 0755
zipcmp File 11.71 KB 0755
zipdetails File 47.32 KB 0755
zipgrep File 2.88 KB 0755
zipinfo File 185.16 KB 0755
zipmerge File 11.76 KB 0755
zipnote File 93.73 KB 0755
zipsplit File 97.75 KB 0755
ziptorrent File 11.6 KB 0755
zless File 1.99 KB 0755
zmore File 2.79 KB 0755
znew File 5.22 KB 0755
zsoelim File 32.59 KB 0755