# File lib/ruby-vpi/vpi.rb, line 516
516:   def vpi_register_cb aData, &aHandler # :yields: Vpi::S_cb_data
517:     raise ArgumentError, "block must be given" unless block_given?
518: 
519:     key = aHandler.object_id.to_s
520: 
521:     # register the callback with Verilog
522:     aData.user_data = key
523:     aData.cb_rtn    = Vlog_relay_ruby
524:     token           = vpi_register_cb_old(aData)
525: 
526:     @@callbacks[key]  = Callback.new(aHandler, token)
527:     token
528:   end