/usr/share/perl5/ExtUtils/Typemaps/Basic.pm is in libextutils-typemaps-default-perl 1.05-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | package ExtUtils::Typemaps::Basic;
use strict;
use warnings;
use ExtUtils::Typemaps;
our $VERSION = '1.05';
our @ISA = qw(ExtUtils::Typemaps);
=head1 NAME
ExtUtils::Typemaps::Basic - A set of typemaps for simple types
=head1 SYNOPSIS
use ExtUtils::Typemaps::Basic;
# First, read my own type maps:
my $private_map = ExtUtils::Typemaps->new(file => 'my.map');
# Then, get additional typemaps and merge them into mine
$private_map->merge(typemap => ExtUtils::Typemaps::Basic->new);
# Now, write the combined map to an output file
$private_map->write(file => 'typemap');
=head1 DESCRIPTION
C<ExtUtils::Typemaps::Basic> is an C<ExtUtils::Typemaps>
subclass that provides a set of mappings for some basic
integer, unsigned, and floating point types that aren't
in perl's builtin typemap.
=head1 METHODS
These are the overridden methods:
=head2 new
Creates a new C<ExtUtils::Typemaps::Basic> object.
It acts as any other C<ExtUtils::Typemaps> object, except that
it has the object maps initialized.
=cut
sub new {
my $class = shift;
my @iv_types = (qw(int short long char), "short int", "long int", "long long");
my @uv_types = ((map {"unsigned $_"} @iv_types), qw(unsigned Uint16 Uint32 Uint64 size_t bool));
@iv_types = map {($_, "signed $_")} @iv_types;
push @iv_types, qw(time_t Sint16 Sint32 Sint64);
my @nv_types = (qw(float double), "long double");
my $map = "TYPEMAP\n";
$map .= "$_\tT_IV\n" for @iv_types;
$map .= "$_\tT_UV\n" for @uv_types;
$map .= "$_\tT_NV\n" for @nv_types;
$map .= "const $_\tT_IV\n" for @iv_types;
$map .= "const $_\tT_UV\n" for @uv_types;
$map .= "const $_\tT_NV\n" for @nv_types;
my $self = $class->SUPER::new(@_);
$self->add_string(string => $map);
return $self;
}
1;
__END__
=head1 SEE ALSO
L<ExtUtils::Typemaps>, L<ExtUtils::Typemaps::Default>
=head1 AUTHOR
Steffen Mueller <smueller@cpan.org>
=head1 COPYRIGHT AND LICENSE
Copyright 2010, 2011, 2012, 2013 by Steffen Mueller
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
|