manpagez: man pages & more
man B::Hooks::OP::Check(3)
Home | html | info | man
B::Hooks::OP::Check(3)                     User Contributed Perl Documentation



NAME

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


VERSION

       version 0.22


SYNOPSIS

           # include "hook_op_check.h"

           STATIC OP *my_const_check_op (pTHX_ OP *op, void *user_data) {
               /* ... */
               return op;
           }

           STATIC hook_op_check_id my_hook_id = 0;

           void
           setup ()
               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);


DESCRIPTION

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

       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 "hook_op_check.h".


TYPES

   typedef OP *(*hook_op_check_cb) (pTHX_ OP *, void *);
       Type that callbacks need to implement.

   typedef UV hook_op_check_id
       Type to identify a callback.


FUNCTIONS

   hook_op_check_id hook_op_check (opcode type, hook_op_check_cb cb, void
       *user_data)
       Register the callback "cb" to be called after the "PL_check" function
       for opcodes of the given "type". "user_data" will be passed to the
       callback as the last argument. Returns an id that can be used to remove
       the callback later on.

   void *hook_op_check_remove (opcode type, hook_op_check_id id)
       Remove the callback identified by "id". Returns the user_data that the
       callback had.


SUPPORT

       Bugs may be submitted through the RT bug tracker
       <https://rt.cpan.org/Public/Dist/Display.html?Name=B-Hooks-OP-Check>
       (or bug-B-Hooks-OP-Check@rt.cpan.org <mailto:bug-B-Hooks-OP-
       Check@rt.cpan.org>).


AUTHOR

       Florian Ragwitz <rafl@debian.org>


CONTRIBUTORS

       o   Karen Etheridge <ether@cpan.org>

       o   Zefram <zefram@fysh.org>

       o   Alexandr Ciornii <alexchorny@gmail.com>


COPYRIGHT AND LICENCE

       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.

perl v5.34.3                      2024-03-12            B::Hooks::OP::Check(3)

b-hooks-op-check 0.220.0 - Generated Mon Aug 4 13:20:30 CDT 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.