=head1 VERSION
-Version 0.06
+Version 0.07_01
=cut
-our $VERSION = '0.06';
+use vars qw/$VERSION/;
+
+BEGIN {
+ $VERSION = '0.07_01';
+}
=head1 SYNOPSIS
SIG_NBR = SIG_MAX - SIG_MIN + 1
+=head2 C<MGf_COPY>
+
+True iff the 'copy' magic is available.
+
+=head2 C<MGf_DUP>
+
+True iff the 'dup' magic is available.
+
+=head2 C<MGf_LOCAL>
+
+True iff the 'local' magic is available.
+
=head1 FUNCTIONS
=cut
use XSLoader;
-XSLoader::load __PACKAGE__, $VERSION;
+BEGIN {
+ XSLoader::load __PACKAGE__, $VERSION;
+}
=head2 C<wizard>
sub wizard {
croak 'Wrong number of arguments for wizard()' if @_ % 2;
my %opts = @_;
- return _wizard(map { $opts{$_} } qw/sig get set len clear free data/);
+ my $sig = $opts{sig};
+ my @types = qw/data get set len clear free/;
+ push @types, 'copy' if MGf_COPY;
+ push @types, 'dup' if MGf_DUP;
+ delete $opts{dup}; # don't use it for now
+ push @types, 'local' if MGf_LOCAL;
+ return _wizard($sig, map { $opts{$_} } @types);
}
=head2 C<gensig>
our @EXPORT = ();
our %EXPORT_TAGS = (
'funcs' => [ qw/wizard gensig getsig cast getdata dispell/ ],
- 'consts' => [ qw/SIG_MIN SIG_MAX SIG_NBR/ ]
+ 'consts' => [ qw/SIG_MIN SIG_MAX SIG_NBR MGf_COPY MGf_DUP MGf_LOCAL/ ]
);
our @EXPORT_OK = map { @$_ } values %EXPORT_TAGS;
$EXPORT_TAGS{'all'} = \@EXPORT_OK;