ruby.cfg: Add some *2NUM(), FIX2*() and NUM2*() functions

Reference: No useful documentation found. Used the Ruby 2.6 header files
and different web sites for creating the configurations.
This commit is contained in:
versat 2019-10-07 15:34:42 +02:00
parent 682c5c2040
commit b76be4581e
1 changed files with 73 additions and 0 deletions

View File

@ -1,6 +1,78 @@
<?xml version="1.0"?>
<def format="2">
<!-- Ruby C API. see https://docs.ruby-lang.org/en/2.5.0/extension_rdoc.html -->
<!-- INT2NUM() is a macro resulting in something like this: VALUE INT2NUM(int v) -->
<!-- UINT2NUM() is something like this: VALUE UINT2NUM(unsigned int v) -->
<!-- LONG2NUM() is something like this: VALUE LONG2NUM(long v) -->
<!-- ULONG2NUM() is something like this: VALUE ULONG2NUM(unsigned long v) -->
<!-- LL2NUM() is something like this: VALUE LL2NUM(long long v) -->
<!-- ULL2NUM() is something like this: VALUE ULL2NUM(unsigned long long v) -->
<function name="INT2NUM,UINT2NUM,LONG2NUM,ULONG2NUM,LL2NUM,ULL2NUM">
<noreturn>false</noreturn>
<returnValue type="VALUE"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2INT() is something like this: int NUM2INT(VALUE v) -->
<!-- FIX2INT() is something like this: int FIX2INT(VALUE v) -->
<function name="NUM2INT,FIX2INT">
<noreturn>false</noreturn>
<returnValue type="int"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2UINT() is something like this: unsigned int NUM2UINT(VALUE v) -->
<!-- FIX2UINT() is something like this: unsigned int FIX2UINT(VALUE v) -->
<function name="NUM2UINT,FIX2UINT">
<noreturn>false</noreturn>
<returnValue type="unsigned int"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2LONG() is something like this: long NUM2LONG(VALUE v) -->
<!-- FIX2LONG() is something like this: long FIX2LONG(VALUE v) -->
<function name="NUM2LONG,FIX2LONG">
<noreturn>false</noreturn>
<returnValue type="long"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2ULONG() is something like this: unsigned long NUM2ULONG(VALUE v) -->
<!-- FIX2ULONG() is something like this: unsigned long FIX2ULONG(VALUE v) -->
<function name="NUM2ULONG,FIX2ULONG">
<noreturn>false</noreturn>
<returnValue type="unsigned long"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2LL() is something like this: long long NUM2LL(VALUE v) -->
<function name="NUM2LL">
<noreturn>false</noreturn>
<returnValue type="long long"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- NUM2ULL() is something like this: unsigned long long NUM2ULL(VALUE v) -->
<function name="NUM2ULL">
<noreturn>false</noreturn>
<returnValue type="unsigned long long"/>
<use-retval/>
<arg nr="1" direction="in">
<not-uninit/>
</arg>
</function>
<!-- void rb_define_const(VALUE klass, const char *name, VALUE val) -->
<function name="rb_define_const">
<leak-ignore/>
@ -66,4 +138,5 @@
</arg>
</function>
<podtype name="ID"/>
<podtype name="VALUE" sign="u"/>
</def>