kind=defined
names=callback
visibility=public

--- callback(proto)    -> DL::Symbol

与えられたプロトタイプにしたがって、自身のインスタンスメソッドを
C のコールバック関数に変換し、[[c:DL::Symbol]] として返します。

@param proto C の関数プロトタイプを文字列で与えます。頭文字が大文字の場合は小文字に自動的に変換されます。

 require 'dl/import'
 module M
   extend DL::Importable
   dlload "libc.so.6"
 
   def cmp(a, b)
     a.ptr.to_s[-1] <=> b.ptr.to_s[-1]
   end
   callback 'int cmp(const char **, const char **)'
   extern 'void qsort(void *, int, int, void *)'
 end
 
 a = ['1b', '2a', '3c']
 ap = a.to_ptr
 M.qsort(ap, a.size, DL.sizeof('P'), M['cmp'])
 p ap.to_a('P').map{|s| s.to_s } #=> ["2a", "1b", "3c"]

