Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
B::Hooks::OP::Check::EUsersContributed PeB::Hooks::OP::Check::EntersubForCV(3)

NAME
       B::Hooks::OP::Check::EntersubForCV - Invoke callbacks on	construction
       of entersub OPs for certain CVs

SYNOPSIS
   From	Perl
	   sub foo {}

	   use B::Hooks::OP::Check::EntersubForCV
	       \&foo =>	sub { warn "entersub for foo() being compiled" };

	   foo(); # callback is	invoked	when this like is compiled

	   no B::Hooks::OP::Check::EntersubForCV \&foo;

	   foo(); # callback isn't invoked

   From	C/XS
	   #include "hook_op_check_entersubforcv.h"

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

	   hook_op_check_id id;

	   /* register callback	*/
	   id =	hook_op_check_entersubforcv (cv, my_callback, NULL);

	   /* unregister */
	   hook_op_check_entersubforcv_remove (id);

DESCRIPTION
Perl API
   import / register
	   use B::Hooks::OP::Check::EntersubForCV
	       \&code => \&handler;

	   # or
	   my $id = B::Hooks::OP::Check::EntersubForCV::register(\&code	=> \&handler);

       Register	"handler" to be	executed when an entersub opcode for the CV
       "code" points to	is compiled.

       When using "register" an	id that	can be used for	later removal of the
       handler using "unregister" is returned.

   unimport / unregister
	   no B::Hooks::OP::Check::EntersubForCV \&code;

	   # or
	   B::Hooks::OP::Check::EntersubForCV::unregister($id);

       Stop calling the	registered handler for "code" for all entersubs	after
       this.

C API
   TYPES
       OP *(*hook_op_check_entersubforcv_cb) (pTHX_ OP *, CV *,	void *)

       The type	the handlers need to implement.

   FUNCTIONS
       hook_op_check_id	hook_op_check_entersubforcv (CV	*cv,
       hook_op_check_entersubforcv_cb cb, void *user_data)

       Register	the callback "cb" to be	called when an entersub	opcode for
       "cv" is compiled. "user_data" will be passed to the callback as the
       last argument.

       Returns an id that can be used to remove	the handler using
       "hook_op_check_entersubforcv_remove".

       void *hook_op_check_entersubforcv_remove	(hook_op_check_id id)

       Remove a	previously registered handler referred to by "id".

       Returns the user	data that was associated with the handler.

SEE ALSO
       B::Hooks::OP::Check

AUTHOR
       Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE
       Copyright (c) 2008, 2009	Florian	Ragwitz

       This module is free software.

       You may distribute this code under the same terms as Perl itself.

perl v5.24.1			  2012-03B::Hooks::OP::Check::EntersubForCV(3)

NAME | SYNOPSIS | DESCRIPTION | Perl API | C API | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=B::Hooks::OP::Check::EntersubForCV&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help