B-Hooks-OP-Check

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

  * Tell MakeMaker which symbols we'd like to export. Hopefully this will make
    linking against us work on Win32.

0.13      2008-11-09 02:36:27Z
  * Try to not dereference NULL.

0.12      2008-10-19 06:39:30Z
  * Use ppport.h to regain 5.6 compatibility.

0.11      2008-10-16 03:36:23Z
  * Allow removal of callbacks.

0.10      2008-10-15 21:22:25Z
  * Allow passing userdata to callbacks.

0.03      2008-10-03 06:07:26Z
  * Don't use Perl_check_t to be more portable.

0.02      2008-10-02 11:15:13Z
  * Ship inc/ by not ignoring it in MANIFEST.SKIP.

0.01      2008-10-01 09:56:01Z
  * Initial release.

META.json  view on Meta::CPAN

{
   "abstract" : "Wrap OP check callbacks",
   "author" : [
      "Florian Ragwitz <rafl@debian.org>"
   ],
   "dynamic_config" : 0,
   "generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version 2.150010",
   "license" : [
      "perl_5"
   ],
   "meta-spec" : {
      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",

META.yml  view on Meta::CPAN

---
abstract: 'Wrap OP check callbacks'
author:
  - 'Florian Ragwitz <rafl@debian.org>'
build_requires:
  ExtUtils::MakeMaker: '0'
  File::Spec: '0'
  Test::More: '0'
  perl: '5.008001'
configure_requires:
  ExtUtils::Depends: '0.302'
  ExtUtils::MakeMaker: '0'

Makefile.PL  view on Meta::CPAN


use ExtUtils::Depends 0.302;
my $pkg = ExtUtils::Depends->new('B::Hooks::OP::Check');
$pkg->install('hook_op_check.h');
$pkg->add_xs('Check.xs');
$pkg->add_pm('lib/B/Hooks/OP/Check.pm' => '$(INST_LIB)/B/Hooks/OP/Check.pm');
mkdir 'build';
$pkg->save_config('build/IFiles.pm');

my %WriteMakefileArgs = (
  "ABSTRACT" => "Wrap OP check callbacks",
  "AUTHOR" => "Florian Ragwitz <rafl\@debian.org>",
  "CONFIGURE_REQUIRES" => {
    "ExtUtils::Depends" => "0.302",
    "ExtUtils::MakeMaker" => 0
  },
  "DISTNAME" => "B-Hooks-OP-Check",
  "LICENSE" => "perl",
  "MIN_PERL_VERSION" => "5.008001",
  "NAME" => "B::Hooks::OP::Check",
  "PREREQ_PM" => {

README  view on Meta::CPAN



This archive contains the distribution B-Hooks-OP-Check,
version 0.22:

  Wrap OP check callbacks

This software is copyright (c) 2008 by Florian Ragwitz.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.


This README file was generated by Dist::Zilla::Plugin::Readme v6.010.

lib/B/Hooks/OP/Check.pm  view on Meta::CPAN

use strict;
use warnings;
package B::Hooks::OP::Check; # git description: 0.21-5-g968d5ca
# ABSTRACT: Wrap OP check callbacks

require 5.008001;
use parent qw/DynaLoader/;

our $VERSION = '0.22';

sub dl_load_flags { 0x01 }

__PACKAGE__->bootstrap($VERSION);

1;

__END__

=pod

=encoding UTF-8

=head1 NAME

B::Hooks::OP::Check - Wrap OP check callbacks

=head1 VERSION

version 0.22

=head1 SYNOPSIS

    # include "hook_op_check.h"

    STATIC OP *my_const_check_op (pTHX_ OP *op, void *user_data) {

lib/B/Hooks/OP/Check.pm  view on Meta::CPAN

        CODE:
            my_hook_id = hook_op_check (OP_CONST, my_const_check_op, NULL);

    void
    teardown ()
        CODE:
            hook_op_check_remove (OP_CONST, my_hook_id);

=head1 DESCRIPTION

This module provides a C API for XS modules to hook into the callbacks of
C<PL_check>.

L<ExtUtils::Depends> is used to export all functions for other XS modules to
use. Include the following in your Makefile.PL:

    my $pkg = ExtUtils::Depends->new('Your::XSModule', 'B::Hooks::OP::Check');
    WriteMakefile(
        ... # your normal makefile flags
        $pkg->get_makefile_vars,
    );

Your XS module can now include C<hook_op_check.h>.

=for stopwords cb

=head1 TYPES

=head2 typedef OP *(*hook_op_check_cb) (pTHX_ OP *, void *);

Type that callbacks need to implement.

=head2 typedef UV hook_op_check_id

Type to identify a callback.

=head1 FUNCTIONS

=head2 hook_op_check_id hook_op_check (opcode type, hook_op_check_cb cb, void *user_data)

Register the callback C<cb> to be called after the C<PL_check> function for



( run in 2.281 seconds using v1.01-cache-2.11-cpan-9b1e4054eb1 )