This commit is contained in:
@@ -0,0 +1,465 @@
|
||||
1.17.1 / 2024-12-30
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* #1117 Restart async callback dispatcher thread after fork.
|
||||
* #1133 Add ruby-3.4 native gem.
|
||||
* #1134 Fix FFI::DataConverter non-generic usage in RBS files.
|
||||
|
||||
|
||||
1.17.0 / 2024-06-02
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Add FFI::AbstractMemory#read_array_of_string . It was defined but not exposed to Ruby nor tested. #1070
|
||||
|
||||
|
||||
1.17.0.rc2 / 2024-04-22
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Add missing write barriers to StructLayout#initialize causing a segfault with GC.stress. #1079
|
||||
|
||||
|
||||
1.17.0.rc1 / 2024-04-08
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix type definitions on `aarch64-linux`. #1067, #1066
|
||||
* Use RB_TEST for `Pointer.autorelease=` . #1065
|
||||
So that `false` and `nil` are treated as falsey and anything else as truthy.
|
||||
* Replace Fixnum by Integer. #1064
|
||||
Fixnum is no longer present in the ruby language.
|
||||
* Update `FFI::NativeType` doc. #1061
|
||||
* Store FFI::Type::Mapped of FFI::StrPtrConverter in global instead of custom type map
|
||||
* Various documentation fixes. #1042
|
||||
* Update `FFI::Pointer#==` to return `false` if a pointer is compared to a non-pointer object, which is the expected behavior. #1083
|
||||
* Avoid warning about undefined wariable `@ffi_functions` #1085
|
||||
* Fix a very unlikely GC bug when using a callback block. # 1089
|
||||
|
||||
Added:
|
||||
* Provide binary gems for many platforms. #990
|
||||
* Add Windows fat binary gem for Ruby-3.3
|
||||
* Add RBS type definitions for many user facing parts of the FFI API. #1042
|
||||
* Improve fallback search path logic. #1088
|
||||
Respect LD_LIBRARY_PATH and DYLD_LIBRARY_PATH on Macos.
|
||||
* Update libffi to current git master branch.
|
||||
|
||||
Removed:
|
||||
* Remove `enum CHAR_ARRAY` which is no longer used. #1063
|
||||
|
||||
|
||||
1.16.3 / 2023-10-04
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix gcc error when building on CentOS 7. #1052
|
||||
* Avoid trying to store new DataConverter type in frozen TypeDefs hash. #1057
|
||||
|
||||
|
||||
1.16.2 / 2023-09-25
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Handle null pointer crash after fork. #1051
|
||||
|
||||
|
||||
1.16.1 / 2023-09-24
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix compiling the builtin libffi. #1049
|
||||
|
||||
|
||||
1.16.0 / 2023-09-23
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix an issue with signed bitmasks when using flags on the most significant bit. #949
|
||||
* Fix FFI::Pointer#initialize using NUM2LL instead of NUM2ULL.
|
||||
* Fix FFI::Type#inspect to properly display the constant name. #1002
|
||||
* Use libffi closure allocations on hppa-Linux. #1017
|
||||
Previously they would segfault.
|
||||
* Fix class name of Symbol#inspect.
|
||||
* Fix MSVC support of libtest. #1028
|
||||
* Fix attach_function of functions ending in ? or ! #971
|
||||
|
||||
Added:
|
||||
* Convert all C-based classes to TypedData and use write barriers. #994, #995, #996, #997, #998, #999, #1000, #1001, #1003, #1004, #1005, #1006, #1007, #1008, #1009, #1010, #1011, #1012
|
||||
This results in less pressure on the garbage collector, since the objects can be promoted to the old generation, which means they only get marked on major GC.
|
||||
* Implement `ObjectSpace.memsize_of()` of all C-based classes.
|
||||
* Make FFI Ractor compatible. #1023
|
||||
Modules extended per `extend FFI::Library` need to be frozen in order to be used by non-main Ractors.
|
||||
This can be done by calling `freeze` below of all C interface definitions.
|
||||
* In a Ractor it's possible to:
|
||||
* load DLLs and call its functions, access its global variables
|
||||
* use builtin typedefs
|
||||
* use and modify ractor local typedefs
|
||||
* define callbacks
|
||||
* receive async callbacks from non-ruby threads
|
||||
* use frozen FFI::Library based modules with all attributes (enums, structs, typedefs, functions, callbacks)
|
||||
* invoke frozen functions and callbacks defined in the main Ractor
|
||||
* use FFI::Struct definitions from the main Ractor
|
||||
* In a Ractor it's impossible to:
|
||||
* create new FFI::Library based modules
|
||||
* create new FFI::Struct definitions
|
||||
* use custom global typedefs
|
||||
* use non-frozen FFI::Library based modules
|
||||
* Allow type retrieval of attached functions+variables. #1023
|
||||
* Make FFI classes `GC.compact` friendly. #1021
|
||||
* Update libffi and disable custom trampoline when using libffi closure allocation. #1020
|
||||
This is because libffi changed the way how closures are allocated to static trampolines.
|
||||
* Add types.conf for loongarch64-linux. #943
|
||||
* Add types.conf for sw_64-linux (Shen Wei 64-bit, based on Alpha). #1018
|
||||
* Add support for aarch64-windows. #1035
|
||||
* Windows: Update LoadLibrary error message to include error code. #1026
|
||||
* Allow private release method for FFI::ManagedStruct and FFI::AutoPointer. #1029
|
||||
* Add support for passing ABI version to FFI.map_library_name. #963
|
||||
This adds the new class FFI::LibraryPath .
|
||||
* Add support for ruby-3.2 to windows binary gem. #1047
|
||||
* Enable debug symbols for `rake compile` builds to ease debugging. #1048
|
||||
|
||||
Removed:
|
||||
* Remove allocator of AbstractMemory. #1013
|
||||
This disables AbstractMemory.new, which has no practical use.
|
||||
* Remove unused FFI::SizeTypes. #1022
|
||||
|
||||
|
||||
1.15.5 / 2022-01-10
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix long double argument or return values on 32bit i686. #849
|
||||
* FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929
|
||||
|
||||
Added:
|
||||
* Add Windows fat binary gem for Ruby-3.1
|
||||
|
||||
Removed:
|
||||
* Remove Windows fat binary gem for Ruby < 2.4
|
||||
|
||||
|
||||
1.15.4 / 2021-09-01
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix build for uClibc. #913
|
||||
* Correct module lookup when including `ffi-module` gem. #912
|
||||
|
||||
Changed:
|
||||
* Use ruby code of the ffi gem in JRuby-9.2.20+. #915
|
||||
|
||||
|
||||
1.15.3 / 2021-06-16
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix temporary packaging issue with libffi. #904
|
||||
|
||||
|
||||
1.15.2 / 2021-06-16
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add support for Windows MINGW-UCRT build. #903
|
||||
* Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882
|
||||
|
||||
Changed:
|
||||
* Regenerate `types.conf` for FreeBSD12 aarch64. #902
|
||||
|
||||
|
||||
1.15.1 / 2021-05-22
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Append -pthread to linker options. #893
|
||||
* Use arm or aarch64 to identify Apple ARM CPU arch. #899
|
||||
* Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`. #897
|
||||
|
||||
|
||||
1.15.0 / 2021-03-05
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix MSVC build
|
||||
* Fix async callbacks in conjunction with fork(). #884
|
||||
|
||||
Added:
|
||||
* Allow to pass callbacks in varargs. #885
|
||||
* Name the threads for FFI callback dispatcher and async thread calls for easier debugging. #883
|
||||
The name can be retrieved by Thread.name and is shown by Thread.list.inspect etc.
|
||||
Even gdb shows the thread name on supported operating systems.
|
||||
* Add types.conf for powerpc64le-linux
|
||||
* Add types.conf for riscv64-linux
|
||||
* More release automation of ffi gems
|
||||
|
||||
Changed:
|
||||
* Switch from rubygems-tasks to bundler/gem_helper
|
||||
|
||||
Removed:
|
||||
* Remove unused VariadicInvoker#init
|
||||
|
||||
|
||||
1.14.2 / 2020-12-21
|
||||
-------------------
|
||||
|
||||
Fixed:
|
||||
* Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863
|
||||
|
||||
|
||||
1.14.1 / 2020-12-19
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Revert changes to FFI::Pointer#write_string made in ffi-1.14.0.
|
||||
It breaks compatibilty in a way that can cause hard to find errors. #857
|
||||
|
||||
|
||||
1.14.0 / 2020-12-18
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add types.conf for x86_64-msys, x86_64-haiku, aarch64-openbsd and aarch64-darwin (alias arm64-darwin)
|
||||
* Add method AbstractMemory#size_limit? . #829
|
||||
* Add new extconf option --enable-libffi-alloc which is enabled per default on Apple M1 (arm64-darwin).
|
||||
|
||||
Changed:
|
||||
* Do NULL pointer check only when array length > 0 . #305
|
||||
* Raise an error on an unknown order argument. #830
|
||||
* Change FFI::Pointer#write_string to terminate with a NUL byte like other string methods. #805
|
||||
* Update bundled libffi to latest master.
|
||||
|
||||
Removed:
|
||||
* Remove win32/stdint.h and stdbool.h because of copyright issue. #693
|
||||
|
||||
Fixed:
|
||||
* Fix possible UTF-8 load error in loader script interpretation. #792
|
||||
* Fix segfault on non-array argument to #write_array_of_*
|
||||
* Fix memory leak in MethodHandle . #815
|
||||
* Fix possible segfault in combination with fiddle or other libffi using gems . #835
|
||||
* Fix possibility to use ffi ruby gem with JRuby-9.3 . #763
|
||||
* Fix a GC issue, when a callback Proc is used on more than 2 callback signatures. #820
|
||||
|
||||
|
||||
1.13.1 / 2020-06-09
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Revert use of `ucrtbase.dll` as default C library on Windows-MINGW.
|
||||
`ucrtbase.dll` is still used on MSWIN target. #790
|
||||
* Test for `ffi_prep_closure_loc()` to make sure we can use this function.
|
||||
This fixes incorrect use of system libffi on MacOS Mojave (10.14). #787
|
||||
* Update types.conf on x86_64-dragonflybsd
|
||||
|
||||
|
||||
1.13.0 / 2020-06-01
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add TruffleRuby support. Almost all specs are running on TruffleRuby and succeed. #768
|
||||
* Add ruby source files to the java gem. This allows to ship the Ruby library code per platform java gem and add it as a default gem to JRuby. #763
|
||||
* Add FFI::Platform::LONG_DOUBLE_SIZE
|
||||
* Add bounds checks for writing to an inline char[] . #756
|
||||
* Add long double as callback return value. #771
|
||||
* Update type definitions and add types from stdint.h and stddef.h on i386-windows, x86_64-windows, x86_64-darwin, x86_64-linux, arm-linux, powerpc-linux. #749
|
||||
* Add new type definitions for powerpc-openbsd and sparcv9-openbsd. #775, #778
|
||||
|
||||
Changed:
|
||||
* Raise required ruby version to >= 2.3.
|
||||
* Lots of cleanups and improvements in library, specs and benchmarks.
|
||||
* Fix a lot of compiler warnings at the C-extension
|
||||
* Fix several install issues on MacOS:
|
||||
* Look for libffi in SDK paths, since recent versions of macOS removed it from `/usr/include` . #757
|
||||
* Fix error `ld: library not found for -lgcc_s.10.4`
|
||||
* Don't built for i386 architecture as it is deprecated
|
||||
* Several fixes for MSVC build on Windows. #779
|
||||
* Use `ucrtbase.dll` as default C library on Windows instead of old `msvcrt.dll`. #779
|
||||
* Update builtin libffi to fix a Powerpc issue with parameters of type long
|
||||
* Allow unmodified sourcing of (the ruby code of) this gem in JRuby and TruffleRuby as a default gem. #747
|
||||
* Improve check to detect if a module has a #find_type method suitable for FFI. This fixes compatibility with stdlib `mkmf` . #776
|
||||
|
||||
Removed:
|
||||
* Reject callback with `:string` return type at definition, because it didn't work so far and is not save to use. #751, #782
|
||||
|
||||
|
||||
1.12.2 / 2020-02-01
|
||||
-------------------
|
||||
|
||||
* Fix possible segfault at FFI::Struct#[] and []= after GC.compact . #742
|
||||
|
||||
|
||||
1.12.1 / 2020-01-14
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add binary gem support for ruby-2.7 on Windows
|
||||
|
||||
|
||||
1.12.0 / 2020-01-14
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* FFI::VERSION is defined as part of `require 'ffi'` now.
|
||||
It is no longer necessary to `require 'ffi/version'` .
|
||||
|
||||
Changed:
|
||||
* Update libffi to latest master.
|
||||
|
||||
Deprecated:
|
||||
* Overwriting struct layouts is now warned and will be disallowed in ffi-2.0. #734, #735
|
||||
|
||||
|
||||
1.11.3 / 2019-11-25
|
||||
-------------------
|
||||
|
||||
Removed:
|
||||
* Remove support for tainted objects which cause deprecation warnings in ruby-2.7. #730
|
||||
|
||||
|
||||
1.11.2 / 2019-11-11
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add DragonFlyBSD as a platform. #724
|
||||
|
||||
Changed:
|
||||
* Sort all types.conf files, so that files and changes are easier to compare.
|
||||
* Regenerated type conf for freebsd12 and x86_64-linux targets. #722
|
||||
* Remove MACOSX_DEPLOYMENT_TARGET that was targeting very old version 10.4. #647
|
||||
* Fix library name mangling for non glibc Linux/UNIX. #727
|
||||
* Fix compiler warnings raised by ruby-2.7
|
||||
* Update libffi to latest master.
|
||||
|
||||
|
||||
1.11.1 / 2019-05-20
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Raise required ruby version to >=2.0. #699, #700
|
||||
* Fix a possible linker error on ruby < 2.3 on Linux.
|
||||
|
||||
|
||||
1.11.0 / 2019-05-17
|
||||
-------------------
|
||||
This version was yanked on 2019-05-20 to fix an install issue on ruby-1.9.3. #700
|
||||
|
||||
Added:
|
||||
* Add ability to disable or force use of system libffi. #669
|
||||
Use like `gem inst ffi -- --enable-system-libffi` .
|
||||
* Add ability to call FFI callbacks from outside of FFI call frame. #584
|
||||
* Add proper documentation to FFI::Generator and ::Task
|
||||
* Add gemspec metadata. #696, #698
|
||||
|
||||
Changed:
|
||||
* Fix stdcall on Win32. #649, #669
|
||||
* Fix load paths for FFI::Generator::Task
|
||||
* Fix FFI::Pointer#read_string(0) to return a binary String. #692
|
||||
* Fix benchmark suite so that it runs on ruby-2.x
|
||||
* Move FFI::Platform::CPU from C to Ruby. #663
|
||||
* Move FFI::StructByReference to Ruby. #681
|
||||
* Move FFI::DataConverter to Ruby (#661)
|
||||
* Various cleanups and improvements of specs and benchmarks
|
||||
|
||||
Removed:
|
||||
* Remove ruby-1.8 and 1.9 compatibility code. #683
|
||||
* Remove unused spec files. #684
|
||||
|
||||
|
||||
1.10.0 / 2019-01-06
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add /opt/local/lib/ to ffi's fallback library search path. #638
|
||||
* Add binary gem support for ruby-2.6 on Windows
|
||||
* Add FreeBSD on AArch64 and ARM support. #644
|
||||
* Add FFI::LastError.winapi_error on Windows native or Cygwin. #633
|
||||
|
||||
Changed:
|
||||
* Update to rake-compiler-dock-0.7.0
|
||||
* Use 64-bit inodes on FreeBSD >= 12. #644
|
||||
* Switch time_t and suseconds_t types to long on FreeBSD. #627
|
||||
* Make register_t long_long on 64-bit FreeBSD. #644
|
||||
* Fix Pointer#write_array_of_type #637
|
||||
|
||||
Removed:
|
||||
* Drop binary gem support for ruby-2.0 and 2.1 on Windows
|
||||
|
||||
|
||||
1.9.25 / 2018-06-03
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Revert closures via libffi.
|
||||
This re-adds ClosurePool and fixes compat with SELinux enabled systems. #621
|
||||
|
||||
|
||||
1.9.24 / 2018-06-02
|
||||
-------------------
|
||||
|
||||
Security Note:
|
||||
|
||||
This update addresses vulnerability CVE-2018-1000201: DLL loading issue which can be hijacked on Windows OS, when a Symbol is used as DLL name instead of a String. Found by Matthew Bush.
|
||||
|
||||
Added:
|
||||
* Added a CHANGELOG file
|
||||
* Add mips64(eb) support, and mips r6 support. (#601)
|
||||
|
||||
Changed:
|
||||
* Update libffi to latest changes on master.
|
||||
* Don't search in hardcoded /usr paths on Windows.
|
||||
* Don't treat Symbol args different to Strings in ffi_lib.
|
||||
* Make sure size_t is defined in Thread.c. Fixes #609
|
||||
|
||||
|
||||
1.9.23 / 2018-02-25
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Fix unnecessary rebuild of configure in darwin multi arch. Fixes #605
|
||||
|
||||
|
||||
1.9.22 / 2018-02-22
|
||||
-------------------
|
||||
|
||||
Changed:
|
||||
* Update libffi to latest changes on master.
|
||||
* Update detection of system libffi to match new requirements. Fixes #617
|
||||
* Prefer bundled libffi over system libffi on Mac OS.
|
||||
* Do closures via libffi. This removes ClosurePool and fixes compat with PaX. #540
|
||||
* Use a more deterministic gem packaging.
|
||||
* Fix unnecessary update of autoconf files at gem install.
|
||||
|
||||
|
||||
1.9.21 / 2018-02-06
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Ruby-2.5 support by Windows binary gems. Fixes #598
|
||||
* Add missing win64 types.
|
||||
* Added support for Bitmask. (#573)
|
||||
* Add support for MSYS2 (#572) and Sparc64 Linux. (#574)
|
||||
|
||||
Changed:
|
||||
* Fix read_string to not throw an error on length 0.
|
||||
* Don't use absolute paths for sh and env. Fixes usage on Adroid #528
|
||||
* Use Ruby implementation for `which` for better compat with Windows. Fixes #315
|
||||
* Fix compatibility with PPC64LE platform. (#577)
|
||||
* Normalize sparc64 to sparcv9. (#575)
|
||||
|
||||
Removed:
|
||||
* Drop Ruby 1.8.7 support (#480)
|
||||
|
||||
|
||||
1.9.18 / 2017-03-03
|
||||
-------------------
|
||||
|
||||
Added:
|
||||
* Add compatibility with Ruby-2.4.
|
||||
|
||||
Changed:
|
||||
* Add missing shlwapi.h include to fix Windows build.
|
||||
* Avoid undefined behaviour of LoadLibrary() on Windows. #553
|
||||
|
||||
|
||||
1.9.17 / 2017-01-13
|
||||
-------------------
|
||||
@@ -0,0 +1,49 @@
|
||||
Copyright (c) 2008-2013, Ruby FFI project contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Ruby FFI project nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
libffi, used by this project, is licensed under the MIT license:
|
||||
|
||||
libffi - Copyright (c) 1996-2011 Anthony Green, Red Hat, Inc and others.
|
||||
See source files for details.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
``Software''), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
group :development do
|
||||
gem 'bigdecimal' # necessary on ruby-3.3+
|
||||
gem 'bundler', '>= 1.16', '< 3'
|
||||
gem 'rake', '~> 13.0'
|
||||
gem 'rake-compiler', '~> 1.1'
|
||||
gem 'rake-compiler-dock', '~> 1.7.0'
|
||||
gem 'rspec', '~> 3.0'
|
||||
end
|
||||
|
||||
group :doc do
|
||||
gem 'kramdown'
|
||||
gem 'yard', '~> 0.9'
|
||||
end
|
||||
|
||||
group :type_check do
|
||||
if RUBY_VERSION >= "2.6" && %w[ ruby truffleruby ].include?(RUBY_ENGINE)
|
||||
gem 'rbs', '~> 3.0'
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,24 @@
|
||||
Copyright (c) 2008-2016, Ruby FFI project contributors
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the Ruby FFI project nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2008-2012 Ruby-FFI contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -0,0 +1,137 @@
|
||||
# Ruby-FFI https://github.com/ffi/ffi/wiki
|
||||
|
||||
## Description
|
||||
|
||||
Ruby-FFI is a gem for programmatically loading dynamically-linked native
|
||||
libraries, binding functions within them, and calling those functions
|
||||
from Ruby code. Moreover, a Ruby-FFI extension works without changes
|
||||
on CRuby (MRI), JRuby, Rubinius and TruffleRuby. [Discover why you should write your next extension
|
||||
using Ruby-FFI](https://github.com/ffi/ffi/wiki/why-use-ffi).
|
||||
|
||||
## Features
|
||||
|
||||
* Intuitive DSL
|
||||
* Supports all C native types
|
||||
* C structs (also nested), enums and global variables
|
||||
* Callbacks from C to Ruby
|
||||
* Automatic garbage collection of native memory
|
||||
* Usable in Ractor: [How-to-use-FFI-in-Ruby-Ractors](https://github.com/ffi/ffi/wiki/Ractors)
|
||||
|
||||
## Synopsis
|
||||
|
||||
```ruby
|
||||
require 'ffi'
|
||||
|
||||
module MyLib
|
||||
extend FFI::Library
|
||||
ffi_lib 'c'
|
||||
attach_function :puts, [ :string ], :int
|
||||
end
|
||||
|
||||
MyLib.puts 'Hello, World using libc!'
|
||||
```
|
||||
|
||||
For less minimalistic and more examples you may look at:
|
||||
|
||||
* the `samples/` folder
|
||||
* the examples on the [wiki](https://github.com/ffi/ffi/wiki)
|
||||
* the projects using FFI listed on the wiki: https://github.com/ffi/ffi/wiki/projects-using-ffi
|
||||
|
||||
## Requirements
|
||||
|
||||
When installing the gem on CRuby (MRI), you will need:
|
||||
* A C compiler (e.g., Xcode on macOS, `gcc` or `clang` on everything else)
|
||||
Optionally (speeds up installation):
|
||||
* The `libffi` library and development headers - this is commonly in the `libffi-dev` or `libffi-devel` packages
|
||||
|
||||
The ffi gem comes with a builtin libffi version, which is used, when the system libffi library is not available or too old.
|
||||
Use of the system libffi can be enforced by:
|
||||
```
|
||||
gem install ffi -- --enable-system-libffi # to install the gem manually
|
||||
bundle config build.ffi --enable-system-libffi # for bundle install
|
||||
```
|
||||
or prevented by `--disable-system-libffi`.
|
||||
|
||||
On Linux systems running with [PaX](https://en.wikipedia.org/wiki/PaX) (Gentoo, Alpine, etc.), FFI may trigger `mprotect` errors. You may need to disable [mprotect](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect.28.29) for ruby (`paxctl -m [/path/to/ruby]`) for the time being until a solution is found.
|
||||
|
||||
On FreeBSD systems pkgconf must be installed for the gem to be able to compile using clang. Install either via packages `pkg install pkgconf` or from ports via `devel/pkgconf`.
|
||||
|
||||
On JRuby and TruffleRuby, there are no requirements to install the FFI gem, and `require 'ffi'` works even without installing the gem (i.e., the gem is preinstalled on these implementations).
|
||||
|
||||
## Installation
|
||||
|
||||
From rubygems:
|
||||
|
||||
[sudo] gem install ffi
|
||||
|
||||
From a Gemfile using git or GitHub
|
||||
|
||||
gem 'ffi', github: 'ffi/ffi', submodules: true
|
||||
|
||||
or from the git repository on github:
|
||||
|
||||
git clone git://github.com/ffi/ffi.git
|
||||
cd ffi
|
||||
git submodule update --init --recursive
|
||||
bundle install
|
||||
rake install
|
||||
|
||||
### Install options:
|
||||
|
||||
* `--enable-system-libffi` : Force usage of system libffi
|
||||
* `--disable-system-libffi` : Force usage of builtin libffi
|
||||
* `--enable-libffi-alloc` : Force closure allocation by libffi
|
||||
* `--disable-libffi-alloc` : Force closure allocation by builtin method
|
||||
|
||||
## License
|
||||
|
||||
The ffi library is covered by the BSD license, also see the LICENSE file.
|
||||
The specs are covered by the same license as [ruby/spec](https://github.com/ruby/spec), the MIT license.
|
||||
|
||||
## Credits
|
||||
|
||||
The following people have submitted code, bug reports, or otherwise contributed to the success of this project:
|
||||
|
||||
* Alban Peignier <alban.peignier@free.fr>
|
||||
* Aman Gupta <aman@tmm1.net>
|
||||
* Andrea Fazzi <andrea.fazzi@alcacoop.it>
|
||||
* Andreas Niederl <rico32@gmx.net>
|
||||
* Andrew Cholakian <andrew@andrewvc.com>
|
||||
* Antonio Terceiro <terceiro@softwarelivre.org>
|
||||
* Benoit Daloze <eregontp@gmail.com>
|
||||
* Brian Candler <B.Candler@pobox.com>
|
||||
* Brian D. Burns <burns180@gmail.com>
|
||||
* Bryan Kearney <bkearney@redhat.com>
|
||||
* Charlie Savage <cfis@zerista.com>
|
||||
* Chikanaga Tomoyuki <nagachika00@gmail.com>
|
||||
* Hongli Lai <hongli@phusion.nl>
|
||||
* Ian MacLeod <ian@nevir.net>
|
||||
* Jake Douglas <jake@shiftedlabs.com>
|
||||
* Jean-Dominique Morani <jdmorani@mac.com>
|
||||
* Jeremy Hinegardner <jeremy@hinegardner.org>
|
||||
* Jesús García Sáez <blaxter@gmail.com>
|
||||
* Joe Khoobyar <joe@ankhcraft.com>
|
||||
* Jurij Smakov <jurij@wooyd.org>
|
||||
* KISHIMOTO, Makoto <ksmakoto@dd.iij4u.or.jp>
|
||||
* Kim Burgestrand <kim@burgestrand.se>
|
||||
* Lars Kanis <lars@greiz-reinsdorf.de>
|
||||
* Luc Heinrich <luc@honk-honk.com>
|
||||
* Luis Lavena <luislavena@gmail.com>
|
||||
* Matijs van Zuijlen <matijs@matijs.net>
|
||||
* Matthew King <automatthew@gmail.com>
|
||||
* Mike Dalessio <mike.dalessio@gmail.com>
|
||||
* NARUSE, Yui <naruse@airemix.jp>
|
||||
* Park Heesob <phasis@gmail.com>
|
||||
* Shin Yee <shinyee@speedgocomputing.com>
|
||||
* Stephen Bannasch <stephen.bannasch@gmail.com>
|
||||
* Suraj N. Kurapati <sunaku@gmail.com>
|
||||
* Sylvain Daubert <sylvain.daubert@laposte.net>
|
||||
* Victor Costan
|
||||
* beoran@gmail.com
|
||||
* ctide <christide@christide.com>
|
||||
* emboss <Martin.Bosslet@googlemail.com>
|
||||
* hobophobe <unusualtears@gmail.com>
|
||||
* meh <meh@paranoici.org>
|
||||
* postmodern <postmodern.mod3@gmail.com>
|
||||
* wycats@gmail.com <wycats@gmail.com>
|
||||
* Wayne Meissner <wmeissner@gmail.com>
|
||||
@@ -0,0 +1,206 @@
|
||||
require 'rbconfig'
|
||||
require 'date'
|
||||
require 'fileutils'
|
||||
require 'yaml'
|
||||
require 'rspec/core/rake_task'
|
||||
require 'rubygems/package_task'
|
||||
require 'rake/extensiontask'
|
||||
require_relative "lib/ffi/version"
|
||||
require_relative "rakelib/ffi_gem_helper"
|
||||
|
||||
BUILD_DIR = "build"
|
||||
BUILD_EXT_DIR = File.join(BUILD_DIR, "#{RbConfig::CONFIG['arch']}", 'ffi_c', RUBY_VERSION)
|
||||
|
||||
gem_spec = Bundler.load_gemspec('ffi.gemspec')
|
||||
|
||||
RSpec::Core::RakeTask.new(:spec) do |config|
|
||||
config.rspec_opts = YAML.load_file 'spec/spec.opts'
|
||||
end
|
||||
|
||||
desc "Build all packages"
|
||||
task :package => %w[ gem:java gem:native ]
|
||||
|
||||
CLOBBER.include 'lib/ffi/types.conf'
|
||||
CLOBBER.include 'pkg'
|
||||
CLOBBER.include 'log'
|
||||
|
||||
CLEAN.include 'build'
|
||||
CLEAN.include 'conftest.dSYM'
|
||||
CLEAN.include 'spec/ffi/fixtures/libtest.{dylib,so,dll}'
|
||||
CLEAN.include 'spec/ffi/fixtures/*.o'
|
||||
CLEAN.include 'spec/ffi/embed-test/ext/*.{o,def}'
|
||||
CLEAN.include 'spec/ffi/embed-test/ext/Makefile'
|
||||
CLEAN.include "pkg/ffi-*-*/"
|
||||
CLEAN.include 'lib/{2,3}.*'
|
||||
|
||||
# clean all shipped files, that are not in git
|
||||
CLEAN.include(
|
||||
gem_spec.files -
|
||||
`git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0").map { |f| File.join("ext/ffi_c/libffi", f) } -
|
||||
`git ls-files -z`.split("\x0")
|
||||
)
|
||||
|
||||
task :distclean => :clobber
|
||||
|
||||
desc "Test the extension"
|
||||
task :test => [ :spec ]
|
||||
|
||||
|
||||
namespace :bench do
|
||||
ITER = ENV['ITER'] ? ENV['ITER'].to_i : 100000
|
||||
bench_files = Dir["bench/bench_*.rb"].sort.reject { |f| f == "bench/bench_helper.rb" }
|
||||
bench_files.each do |bench|
|
||||
task File.basename(bench, ".rb")[6..-1] => :compile do
|
||||
sh %{#{Gem.ruby} #{bench} #{ITER}}
|
||||
end
|
||||
end
|
||||
task :all => :compile do
|
||||
bench_files.each do |bench|
|
||||
sh %{#{Gem.ruby} #{bench}}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
task 'spec:run' => :compile
|
||||
task 'spec:specdoc' => :compile
|
||||
|
||||
task :default => :spec
|
||||
|
||||
namespace 'java' do
|
||||
|
||||
java_gem_spec = gem_spec.dup.tap do |s|
|
||||
s.files.reject! { |f| File.fnmatch?("ext/*", f) }
|
||||
s.extensions = []
|
||||
s.platform = 'java'
|
||||
end
|
||||
|
||||
Gem::PackageTask.new(java_gem_spec) do |pkg|
|
||||
pkg.need_zip = true
|
||||
pkg.need_tar = true
|
||||
pkg.package_dir = 'pkg'
|
||||
end
|
||||
end
|
||||
|
||||
task 'gem:java' => 'java:gem'
|
||||
|
||||
FfiGemHelper.install_tasks
|
||||
# Register binary gems to be pushed to rubygems.org
|
||||
Bundler::GemHelper.instance.cross_platforms = %w[
|
||||
x86-mingw32
|
||||
x64-mingw-ucrt
|
||||
x64-mingw32
|
||||
x86-linux-gnu
|
||||
x86-linux-musl
|
||||
x86_64-linux-gnu
|
||||
x86_64-linux-musl
|
||||
arm-linux-gnu
|
||||
arm-linux-musl
|
||||
aarch64-linux-gnu
|
||||
aarch64-linux-musl
|
||||
x86_64-darwin
|
||||
arm64-darwin
|
||||
]
|
||||
|
||||
if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
|
||||
require 'rake/extensiontask'
|
||||
Rake::ExtensionTask.new('ffi_c', gem_spec) do |ext|
|
||||
ext.name = 'ffi_c' # indicate the name of the extension.
|
||||
# ext.lib_dir = BUILD_DIR # put binaries into this folder.
|
||||
ext.tmp_dir = BUILD_DIR # temporary folder used during compilation.
|
||||
ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
|
||||
ext.cross_platform = Bundler::GemHelper.instance.cross_platforms
|
||||
ext.cross_compiling do |spec|
|
||||
spec.files.reject! { |path| File.fnmatch?('ext/*', path) }
|
||||
end
|
||||
# Enable debug info for 'rake compile' but not for 'gem install'
|
||||
ext.config_options << "--enable-debug"
|
||||
|
||||
end
|
||||
else
|
||||
task :compile do
|
||||
STDERR.puts "Nothing to compile on #{RUBY_ENGINE}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
namespace "gem" do
|
||||
task 'prepare' do
|
||||
require 'rake_compiler_dock'
|
||||
sh "bundle package --all"
|
||||
end
|
||||
|
||||
Bundler::GemHelper.instance.cross_platforms.each do |plat|
|
||||
desc "Build all native binary gems in parallel"
|
||||
multitask 'native' => plat
|
||||
|
||||
desc "Build the native gem for #{plat}"
|
||||
task plat => ['prepare', 'build'] do
|
||||
RakeCompilerDock.sh <<-EOT, platform: plat
|
||||
sudo apt-get update && sudo apt-get install -y libltdl-dev &&
|
||||
bundle --local &&
|
||||
rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.4.0/}
|
||||
EOT
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
directory "ext/ffi_c/libffi"
|
||||
file "ext/ffi_c/libffi/autogen.sh" => "ext/ffi_c/libffi" do
|
||||
warn "Downloading libffi ..."
|
||||
sh "git submodule update --init --recursive"
|
||||
end
|
||||
task :libffi => "ext/ffi_c/libffi/autogen.sh"
|
||||
|
||||
LIBFFI_GIT_FILES = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0")
|
||||
|
||||
# Generate files which are in the gemspec but not in libffi's git repo by running autogen.sh
|
||||
gem_spec.files.select do |f|
|
||||
f =~ /ext\/ffi_c\/libffi\/(.*)/ && !LIBFFI_GIT_FILES.include?($1)
|
||||
end.each do |f|
|
||||
file f => "ext/ffi_c/libffi/autogen.sh" do
|
||||
chdir "ext/ffi_c/libffi" do
|
||||
sh "sh ./autogen.sh"
|
||||
end
|
||||
touch f
|
||||
if gem_spec.files != Gem::Specification.load('./ffi.gemspec').files
|
||||
warn "gemspec files have changed -> Please restart rake!"
|
||||
exit 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Make sure we have all gemspec files before packaging
|
||||
task :build => gem_spec.files
|
||||
task :gem => :build
|
||||
|
||||
|
||||
require_relative "lib/ffi/platform"
|
||||
types_conf = File.expand_path(File.join(FFI::Platform::CONF_DIR, 'types.conf'))
|
||||
logfile = File.join(File.dirname(__FILE__), 'types_log')
|
||||
|
||||
task types_conf do |task|
|
||||
require 'fileutils'
|
||||
require_relative "lib/ffi/tools/types_generator"
|
||||
options = {}
|
||||
FileUtils.mkdir_p(File.dirname(task.name), mode: 0755 )
|
||||
File.open(task.name, File::CREAT|File::TRUNC|File::RDWR, 0644) do |f|
|
||||
f.puts FFI::TypesGenerator.generate(options)
|
||||
end
|
||||
File.open(logfile, 'w') do |log|
|
||||
log.puts(types_conf)
|
||||
end
|
||||
end
|
||||
|
||||
desc "Create or update type information for platform #{FFI::Platform::NAME}"
|
||||
task :types_conf => types_conf
|
||||
|
||||
begin
|
||||
require 'yard'
|
||||
|
||||
namespace :doc do
|
||||
YARD::Rake::YardocTask.new do |yard|
|
||||
end
|
||||
end
|
||||
rescue LoadError
|
||||
warn "[warn] YARD unavailable"
|
||||
end
|
||||
@@ -0,0 +1,42 @@
|
||||
require File.expand_path("../lib/#{File.basename(__FILE__, '.gemspec')}/version", __FILE__)
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
s.name = 'ffi'
|
||||
s.version = FFI::VERSION
|
||||
s.author = 'Wayne Meissner'
|
||||
s.email = 'wmeissner@gmail.com'
|
||||
s.homepage = 'https://github.com/ffi/ffi/wiki'
|
||||
s.summary = 'Ruby FFI'
|
||||
s.description = 'Ruby FFI library'
|
||||
if s.respond_to?(:metadata)
|
||||
s.metadata['bug_tracker_uri'] = 'https://github.com/ffi/ffi/issues'
|
||||
s.metadata['changelog_uri'] = 'https://github.com/ffi/ffi/blob/master/CHANGELOG.md'
|
||||
s.metadata['documentation_uri'] = 'https://github.com/ffi/ffi/wiki'
|
||||
s.metadata['wiki_uri'] = 'https://github.com/ffi/ffi/wiki'
|
||||
s.metadata['source_code_uri'] = 'https://github.com/ffi/ffi/'
|
||||
s.metadata['mailing_list_uri'] = 'http://groups.google.com/group/ruby-ffi'
|
||||
end
|
||||
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
||||
f =~ /^(\.|bench|gen|libtest|nbproject|spec)/
|
||||
end
|
||||
|
||||
# Add libffi git files
|
||||
lfs = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0")
|
||||
# Add autoconf generated files of libffi
|
||||
lfs += %w[ compile configure config.guess config.sub install-sh ltmain.sh missing fficonfig.h.in ]
|
||||
# Add automake generated files of libffi
|
||||
lfs += `git --git-dir ext/ffi_c/libffi/.git ls-files -z *.am */*.am`.gsub(".am\0", ".in\0").split("\x0")
|
||||
s.files += lfs.map do |f|
|
||||
File.join("ext/ffi_c/libffi", f)
|
||||
end
|
||||
|
||||
s.extensions << 'ext/ffi_c/extconf.rb'
|
||||
s.rdoc_options = %w[--exclude=ext/ffi_c/.*\.o$ --exclude=ffi_c\.(bundle|so)$]
|
||||
s.license = 'BSD-3-Clause'
|
||||
s.require_paths << 'ext/ffi_c'
|
||||
s.required_ruby_version = '>= 2.5'
|
||||
s.add_development_dependency 'rake', '~> 13.0'
|
||||
s.add_development_dependency 'rake-compiler', '~> 1.1'
|
||||
s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
|
||||
s.add_development_dependency 'rspec', '~> 2.14.1'
|
||||
end
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,27 @@
|
||||
if RUBY_ENGINE == 'ruby'
|
||||
begin
|
||||
require RUBY_VERSION.split('.')[0, 2].join('.') + '/ffi_c'
|
||||
rescue Exception
|
||||
require 'ffi_c'
|
||||
end
|
||||
|
||||
require 'ffi/ffi'
|
||||
|
||||
elsif RUBY_ENGINE == 'jruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [9, 2, 20]) >= 0
|
||||
JRuby::Util.load_ext("org.jruby.ext.ffi.FFIService")
|
||||
require 'ffi/ffi'
|
||||
|
||||
elsif RUBY_ENGINE == 'truffleruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [20, 1, 0]) >= 0
|
||||
require 'truffleruby/ffi_backend'
|
||||
require 'ffi/ffi'
|
||||
|
||||
else
|
||||
# Remove the ffi gem dir from the load path, then reload the internal ffi implementation
|
||||
$LOAD_PATH.delete(File.dirname(__FILE__))
|
||||
$LOAD_PATH.delete(File.join(File.dirname(__FILE__), 'ffi'))
|
||||
unless $LOADED_FEATURES.nil?
|
||||
$LOADED_FEATURES.delete(__FILE__)
|
||||
$LOADED_FEATURES.delete('ffi.rb')
|
||||
end
|
||||
require 'ffi.rb'
|
||||
end
|
||||
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright (C) 2020 Lars Kanis
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
|
||||
module FFI
|
||||
class AbstractMemory
|
||||
LONG_MAX = FFI::Pointer.new(1).size
|
||||
private_constant :LONG_MAX
|
||||
|
||||
# Return +true+ if +self+ has a size limit.
|
||||
#
|
||||
# @return [Boolean]
|
||||
def size_limit?
|
||||
size != LONG_MAX
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,180 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
# Copyright (C) 2008 Mike Dalessio
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
module FFI
|
||||
class AutoPointer < Pointer
|
||||
extend DataConverter
|
||||
|
||||
# @overload initialize(pointer, method)
|
||||
# @param pointer [Pointer]
|
||||
# @param method [Method]
|
||||
# @return [self]
|
||||
# The passed Method will be invoked at GC time.
|
||||
# @overload initialize(pointer, proc)
|
||||
# @param pointer [Pointer]
|
||||
# @return [self]
|
||||
# The passed Proc will be invoked at GC time (SEE WARNING BELOW!)
|
||||
# @note WARNING: passing a proc _may_ cause your pointer to never be
|
||||
# GC'd, unless you're careful to avoid trapping a reference to the
|
||||
# pointer in the proc. See the test specs for examples.
|
||||
# @overload initialize(pointer)
|
||||
# @param pointer [Pointer]
|
||||
# @return [self]
|
||||
# The pointer's release() class method will be invoked at GC time.
|
||||
#
|
||||
# @note The safest, and therefore preferred, calling
|
||||
# idiom is to pass a Method as the second parameter. Example usage:
|
||||
#
|
||||
# class PointerHelper
|
||||
# def self.release(pointer)
|
||||
# ...
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# p = AutoPointer.new(other_pointer, PointerHelper.method(:release))
|
||||
#
|
||||
# The above code will cause PointerHelper#release to be invoked at GC time.
|
||||
#
|
||||
# @note
|
||||
# The last calling idiom (only one parameter) is generally only
|
||||
# going to be useful if you subclass {AutoPointer}, and override
|
||||
# #release, which by default does nothing.
|
||||
def initialize(ptr, proc=nil)
|
||||
raise TypeError, "Invalid pointer" if ptr.nil? || !ptr.kind_of?(Pointer) ||
|
||||
ptr.kind_of?(MemoryPointer) || ptr.kind_of?(AutoPointer)
|
||||
super(ptr.type_size, ptr)
|
||||
|
||||
@releaser = if proc
|
||||
if not proc.respond_to?(:call)
|
||||
raise RuntimeError.new("proc must be callable")
|
||||
end
|
||||
Releaser.new(ptr, proc)
|
||||
|
||||
else
|
||||
if not self.class.respond_to?(:release, true)
|
||||
raise RuntimeError.new("no release method defined")
|
||||
end
|
||||
Releaser.new(ptr, self.class.method(:release))
|
||||
end
|
||||
|
||||
ObjectSpace.define_finalizer(self, @releaser)
|
||||
self
|
||||
end
|
||||
|
||||
# @return [nil]
|
||||
# Free the pointer.
|
||||
def free
|
||||
@releaser.free
|
||||
end
|
||||
|
||||
# @param [Boolean] autorelease
|
||||
# @return [Boolean] +autorelease+
|
||||
# Set +autorelease+ property. See {Pointer Autorelease section at Pointer}.
|
||||
def autorelease=(autorelease)
|
||||
raise FrozenError.new("can't modify frozen #{self.class}") if frozen?
|
||||
@releaser.autorelease=(autorelease)
|
||||
end
|
||||
|
||||
# @return [Boolean] +autorelease+
|
||||
# Get +autorelease+ property. See {Pointer Autorelease section at Pointer}.
|
||||
def autorelease?
|
||||
@releaser.autorelease
|
||||
end
|
||||
|
||||
# @abstract Base class for {AutoPointer}'s releasers.
|
||||
#
|
||||
# All subclasses of Releaser should define a +#release(ptr)+ method.
|
||||
# A releaser is an object in charge of release an {AutoPointer}.
|
||||
class Releaser
|
||||
attr_accessor :autorelease
|
||||
|
||||
# @param [Pointer] ptr
|
||||
# @param [#call] proc
|
||||
# @return [nil]
|
||||
# A new instance of Releaser.
|
||||
def initialize(ptr, proc)
|
||||
@ptr = ptr
|
||||
@proc = proc
|
||||
@autorelease = true
|
||||
end
|
||||
|
||||
# @return [nil]
|
||||
# Free pointer.
|
||||
def free
|
||||
if @ptr
|
||||
release(@ptr)
|
||||
@autorelease = false
|
||||
@ptr = nil
|
||||
@proc = nil
|
||||
end
|
||||
end
|
||||
|
||||
# @param args
|
||||
# Release pointer if +autorelease+ is set.
|
||||
def call(*args)
|
||||
release(@ptr) if @autorelease && @ptr
|
||||
end
|
||||
|
||||
# Release +ptr+ by using Proc or Method defined at +ptr+
|
||||
# {AutoPointer#initialize initialization}.
|
||||
#
|
||||
# @param [Pointer] ptr
|
||||
# @return [nil]
|
||||
def release(ptr)
|
||||
@proc.call(ptr)
|
||||
end
|
||||
end
|
||||
|
||||
# Return native type of AutoPointer.
|
||||
#
|
||||
# Override {DataConverter#native_type}.
|
||||
# @return [Type::POINTER]
|
||||
# @raise {RuntimeError} if class does not implement a +#release+ method
|
||||
def self.native_type
|
||||
if not self.respond_to?(:release, true)
|
||||
raise RuntimeError.new("no release method defined for #{self.inspect}")
|
||||
end
|
||||
Type::POINTER
|
||||
end
|
||||
|
||||
# Create a new AutoPointer.
|
||||
#
|
||||
# Override {DataConverter#from_native}.
|
||||
# @overload self.from_native(ptr, ctx)
|
||||
# @param [Pointer] ptr
|
||||
# @param ctx not used. Please set +nil+.
|
||||
# @return [AutoPointer]
|
||||
def self.from_native(val, ctx)
|
||||
self.new(val)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
#
|
||||
# All the code from this file is now implemented in C. This file remains
|
||||
# to satisfy any leftover require 'ffi/buffer' in user code
|
||||
#
|
||||
@@ -0,0 +1,4 @@
|
||||
#
|
||||
# All the code from this file is now implemented in C. This file remains
|
||||
# to satisfy any leftover require 'ffi/callback' in user code
|
||||
#
|
||||
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2023-2023 Lars Kanis
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
module FFI
|
||||
if defined?(Ractor.make_shareable)
|
||||
# This is for FFI internal use only.
|
||||
def self.make_shareable(obj)
|
||||
Ractor.make_shareable(obj)
|
||||
end
|
||||
else
|
||||
def self.make_shareable(obj)
|
||||
obj.freeze
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,67 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
# This module is used to extend somes classes and give then a common API.
|
||||
#
|
||||
# Most of methods defined here must be overridden.
|
||||
module DataConverter
|
||||
# Get native type.
|
||||
#
|
||||
# @overload native_type(type)
|
||||
# @param [String, Symbol, Type] type
|
||||
# @return [Type]
|
||||
# Get native type from +type+.
|
||||
#
|
||||
# @overload native_type
|
||||
# @raise {NotImplementedError} This method must be overridden.
|
||||
def native_type(type = nil)
|
||||
if type
|
||||
@native_type = FFI.find_type(type)
|
||||
else
|
||||
native_type = @native_type
|
||||
unless native_type
|
||||
raise NotImplementedError, 'native_type method not overridden and no native_type set'
|
||||
end
|
||||
native_type
|
||||
end
|
||||
end
|
||||
|
||||
# Convert to a native type.
|
||||
def to_native(value, ctx)
|
||||
value
|
||||
end
|
||||
|
||||
# Convert from a native type.
|
||||
def from_native(value, ctx)
|
||||
value
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,118 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
class DynamicLibrary
|
||||
SEARCH_PATH = []
|
||||
|
||||
# The following search paths are tried, if the library could not be loaded in the first attempt.
|
||||
# They are only executed on Macos in the following order:
|
||||
if FFI::Platform.mac?
|
||||
|
||||
# 1. Try library paths possibly defined in LD_LIBRARY_PATH DYLD_LIBRARY_PATH first.
|
||||
# This is because dlopen doesn't respect LD_LIBRARY_PATH and DYLD_LIBRARY_PATH is deleted by SIP-protected binaries.
|
||||
# See here for details: https://github.com/ffi/ffi/issues/923#issuecomment-1872565313
|
||||
%w[LD_LIBRARY_PATH DYLD_LIBRARY_PATH].each do |custom_path|
|
||||
SEARCH_PATH.concat ENV.fetch(custom_path,"").split(File::PATH_SEPARATOR)
|
||||
end
|
||||
|
||||
# 2. Then on macos/arm64 try /opt/homebrew/lib, since this is a typical standard directory.
|
||||
# FFI is often used together with homebrew, so that we hardcode the path for arm64 here.
|
||||
if FFI::Platform::ARCH == 'aarch64'
|
||||
SEARCH_PATH << '/opt/homebrew/lib'
|
||||
end
|
||||
|
||||
# 3. Then try typical system directories starting with the /local/ directory first.
|
||||
#
|
||||
# /usr/local/lib is used by homebrow on x86_64.
|
||||
# /opt/local/lib is used by MacPorts and Fink.
|
||||
# /usr/lib is there, because it was always there.
|
||||
SEARCH_PATH.concat %w[/opt/local/lib /usr/local/lib /usr/lib]
|
||||
end
|
||||
|
||||
# On Linux the library lookup paths are usually defined through /etc/ld.so.conf, which can be changed at will with root permissions.
|
||||
# Also LD_LIBRARY_PATH is respected by the dynamic loader, so that there's usually no need and no advantage to do a fallback handling.
|
||||
#
|
||||
# Windows has it's own library lookup logic, very different to what we do here.
|
||||
# See: https://github.com/oneclick/rubyinstaller2/wiki/For-gem-developers#user-content-dll-loading
|
||||
|
||||
FFI.make_shareable(SEARCH_PATH)
|
||||
SEARCH_PATH_MESSAGE = "Searched in <system library path>#{ SEARCH_PATH.map{|a| ', ' + a}.join }".freeze
|
||||
|
||||
def self.load_library(name, flags)
|
||||
if name == FFI::CURRENT_PROCESS
|
||||
FFI::DynamicLibrary.open(nil, RTLD_LAZY | RTLD_LOCAL)
|
||||
else
|
||||
flags ||= RTLD_LAZY | RTLD_LOCAL
|
||||
|
||||
libnames = (name.is_a?(::Array) ? name : [name])
|
||||
libnames = libnames.map(&:to_s).map { |n| [n, FFI.map_library_name(n)].uniq }.flatten.compact
|
||||
errors = []
|
||||
|
||||
libnames.each do |libname|
|
||||
lib = try_load(libname, flags, errors)
|
||||
return lib if lib
|
||||
|
||||
unless libname.start_with?("/")
|
||||
SEARCH_PATH.each do |prefix|
|
||||
path = "#{prefix}/#{libname}"
|
||||
if File.exist?(path)
|
||||
lib = try_load(path, flags, errors)
|
||||
return lib if lib
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
raise LoadError, [*errors, SEARCH_PATH_MESSAGE].join(".\n")
|
||||
end
|
||||
end
|
||||
private_class_method :load_library
|
||||
|
||||
def self.try_load(libname, flags, errors)
|
||||
begin
|
||||
lib = FFI::DynamicLibrary.open(libname, flags)
|
||||
return lib if lib
|
||||
|
||||
# LoadError for C ext & JRuby, RuntimeError for TruffleRuby
|
||||
rescue LoadError, RuntimeError => ex
|
||||
if ex.message =~ /(([^ \t()])+\.so([^ \t:()])*):([ \t])*(invalid ELF header|file too short|invalid file format)/
|
||||
if File.binread($1) =~ /(?:GROUP|INPUT) *\( *([^ \)]+)/
|
||||
return try_load($1, flags, errors)
|
||||
end
|
||||
end
|
||||
|
||||
errors << ex
|
||||
nil
|
||||
end
|
||||
end
|
||||
private_class_method :try_load
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,302 @@
|
||||
#
|
||||
# Copyright (C) 2009, 2010 Wayne Meissner
|
||||
# Copyright (C) 2009 Luc Heinrich
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
module FFI
|
||||
|
||||
# An instance of this class permits to manage {Enum}s. In fact, Enums is a collection of {Enum}s.
|
||||
class Enums
|
||||
|
||||
def initialize
|
||||
@all_enums = Array.new
|
||||
@tagged_enums = Hash.new
|
||||
@symbol_map = Hash.new
|
||||
end
|
||||
|
||||
# @param [Enum] enum
|
||||
# Add an {Enum} to the collection.
|
||||
def <<(enum)
|
||||
@all_enums << enum
|
||||
@tagged_enums[enum.tag] = enum unless enum.tag.nil?
|
||||
@symbol_map.merge!(enum.symbol_map)
|
||||
end
|
||||
|
||||
# @param query enum tag or part of an enum name
|
||||
# @return [Enum]
|
||||
# Find a {Enum} in collection.
|
||||
def find(query)
|
||||
if @tagged_enums.has_key?(query)
|
||||
@tagged_enums[query]
|
||||
else
|
||||
@all_enums.detect { |enum| enum.symbols.include?(query) }
|
||||
end
|
||||
end
|
||||
|
||||
# @param symbol a symbol to find in merge symbol maps of all enums.
|
||||
# @return a symbol
|
||||
def __map_symbol(symbol)
|
||||
@symbol_map[symbol]
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# Represents a C enum.
|
||||
#
|
||||
# For a C enum:
|
||||
# enum fruits {
|
||||
# apple,
|
||||
# banana,
|
||||
# orange,
|
||||
# pineapple
|
||||
# };
|
||||
# are defined this vocabulary:
|
||||
# * a _symbol_ is a word from the enumeration (ie. _apple_, by example);
|
||||
# * a _value_ is the value of a symbol in the enumeration (by example, apple has value _0_ and banana _1_).
|
||||
class Enum
|
||||
include DataConverter
|
||||
|
||||
attr_reader :tag
|
||||
attr_reader :native_type
|
||||
|
||||
# @overload initialize(info, tag=nil)
|
||||
# @param [nil, Enumerable] info
|
||||
# @param [nil, Symbol] tag enum tag
|
||||
# @overload initialize(native_type, info, tag=nil)
|
||||
# @param [FFI::Type] native_type Native type for new Enum
|
||||
# @param [nil, Enumerable] info symbols and values for new Enum
|
||||
# @param [nil, Symbol] tag name of new Enum
|
||||
def initialize(*args)
|
||||
@native_type = args.first.kind_of?(FFI::Type) ? args.shift : Type::INT
|
||||
info, @tag = *args
|
||||
@kv_map = Hash.new
|
||||
unless info.nil?
|
||||
last_cst = nil
|
||||
value = 0
|
||||
info.each do |i|
|
||||
case i
|
||||
when Symbol
|
||||
raise ArgumentError, "duplicate enum key" if @kv_map.has_key?(i)
|
||||
@kv_map[i] = value
|
||||
last_cst = i
|
||||
value += 1
|
||||
when Integer
|
||||
@kv_map[last_cst] = i
|
||||
value = i+1
|
||||
end
|
||||
end
|
||||
end
|
||||
@vk_map = @kv_map.invert
|
||||
end
|
||||
|
||||
# @return [Array] enum symbol names
|
||||
def symbols
|
||||
@kv_map.keys
|
||||
end
|
||||
|
||||
# Get a symbol or a value from the enum.
|
||||
# @overload [](query)
|
||||
# Get enum value from symbol.
|
||||
# @param [Symbol] query
|
||||
# @return [Integer]
|
||||
# @overload [](query)
|
||||
# Get enum symbol from value.
|
||||
# @param [Integer] query
|
||||
# @return [Symbol]
|
||||
def [](query)
|
||||
case query
|
||||
when Symbol
|
||||
@kv_map[query]
|
||||
when Integer
|
||||
@vk_map[query]
|
||||
end
|
||||
end
|
||||
alias find []
|
||||
|
||||
# Get the symbol map.
|
||||
# @return [Hash]
|
||||
def symbol_map
|
||||
@kv_map
|
||||
end
|
||||
|
||||
alias to_h symbol_map
|
||||
alias to_hash symbol_map
|
||||
|
||||
# @param [Symbol, Integer, #to_int] val
|
||||
# @param ctx unused
|
||||
# @return [Integer] value of a enum symbol
|
||||
def to_native(val, ctx)
|
||||
@kv_map[val] || if val.is_a?(Integer)
|
||||
val
|
||||
elsif val.respond_to?(:to_int)
|
||||
val.to_int
|
||||
else
|
||||
raise ArgumentError, "invalid enum value, #{val.inspect}"
|
||||
end
|
||||
end
|
||||
|
||||
# @param val
|
||||
# @return symbol name if it exists for +val+.
|
||||
def from_native(val, ctx)
|
||||
@vk_map[val] || val
|
||||
end
|
||||
end
|
||||
|
||||
# Represents a C enum whose values are power of 2
|
||||
#
|
||||
# @example
|
||||
# enum {
|
||||
# red = (1<<0),
|
||||
# green = (1<<1),
|
||||
# blue = (1<<2)
|
||||
# }
|
||||
#
|
||||
# Contrary to classical enums, bitmask values are usually combined
|
||||
# when used.
|
||||
class Bitmask < Enum
|
||||
|
||||
# @overload initialize(info, tag=nil)
|
||||
# @param [nil, Enumerable] info symbols and bit rank for new Bitmask
|
||||
# @param [nil, Symbol] tag name of new Bitmask
|
||||
# @overload initialize(native_type, info, tag=nil)
|
||||
# @param [FFI::Type] native_type Native type for new Bitmask
|
||||
# @param [nil, Enumerable] info symbols and bit rank for new Bitmask
|
||||
# @param [nil, Symbol] tag name of new Bitmask
|
||||
def initialize(*args)
|
||||
@native_type = args.first.kind_of?(FFI::Type) ? args.shift : Type::INT
|
||||
@signed = [Type::INT8, Type::INT16, Type::INT32, Type::INT64].include?(@native_type)
|
||||
info, @tag = *args
|
||||
@kv_map = Hash.new
|
||||
unless info.nil?
|
||||
last_cst = nil
|
||||
value = 0
|
||||
info.each do |i|
|
||||
case i
|
||||
when Symbol
|
||||
raise ArgumentError, "duplicate bitmask key" if @kv_map.has_key?(i)
|
||||
@kv_map[i] = 1 << value
|
||||
last_cst = i
|
||||
value += 1
|
||||
when Integer
|
||||
raise ArgumentError, "bitmask index should be positive" if i<0
|
||||
@kv_map[last_cst] = 1 << i
|
||||
value = i+1
|
||||
end
|
||||
end
|
||||
end
|
||||
@vk_map = @kv_map.invert
|
||||
end
|
||||
|
||||
# Get a symbol list or a value from the bitmask
|
||||
# @overload [](*query)
|
||||
# Get bitmask value from symbol list
|
||||
# @param [Symbol] query
|
||||
# @return [Integer]
|
||||
# @overload [](query)
|
||||
# Get bitmask value from symbol array
|
||||
# @param [Array<Symbol>] query
|
||||
# @return [Integer]
|
||||
# @overload [](*query)
|
||||
# Get a list of bitmask symbols corresponding to
|
||||
# the or reduction of a list of integer
|
||||
# @param [Integer] query
|
||||
# @return [Array<Symbol>]
|
||||
# @overload [](query)
|
||||
# Get a list of bitmask symbols corresponding to
|
||||
# the or reduction of a list of integer
|
||||
# @param [Array<Integer>] query
|
||||
# @return [Array<Symbol>]
|
||||
def [](*query)
|
||||
flat_query = query.flatten
|
||||
raise ArgumentError, "query should be homogeneous, #{query.inspect}" unless flat_query.all? { |o| o.is_a?(Symbol) } || flat_query.all? { |o| o.is_a?(Integer) || o.respond_to?(:to_int) }
|
||||
case flat_query[0]
|
||||
when Symbol
|
||||
flat_query.inject(0) do |val, o|
|
||||
v = @kv_map[o]
|
||||
if v then val | v else val end
|
||||
end
|
||||
when Integer, ->(o) { o.respond_to?(:to_int) }
|
||||
val = flat_query.inject(0) { |mask, o| mask |= o.to_int }
|
||||
@kv_map.select { |_, v| v & val != 0 }.keys
|
||||
end
|
||||
end
|
||||
|
||||
# Get the native value of a bitmask
|
||||
# @overload to_native(query, ctx)
|
||||
# @param [Symbol, Integer, #to_int] query
|
||||
# @param ctx unused
|
||||
# @return [Integer] value of a bitmask
|
||||
# @overload to_native(query, ctx)
|
||||
# @param [Array<Symbol, Integer, #to_int>] query
|
||||
# @param ctx unused
|
||||
# @return [Integer] value of a bitmask
|
||||
def to_native(query, ctx)
|
||||
return 0 if query.nil?
|
||||
flat_query = [query].flatten
|
||||
res = flat_query.inject(0) do |val, o|
|
||||
case o
|
||||
when Symbol
|
||||
v = @kv_map[o]
|
||||
raise ArgumentError, "invalid bitmask value, #{o.inspect}" unless v
|
||||
val | v
|
||||
when Integer
|
||||
val | o
|
||||
when ->(obj) { obj.respond_to?(:to_int) }
|
||||
val | o.to_int
|
||||
else
|
||||
raise ArgumentError, "invalid bitmask value, #{o.inspect}"
|
||||
end
|
||||
end
|
||||
# Take two's complement of positive values bigger than the max value
|
||||
# for the type when native type is signed.
|
||||
if @signed && res >= (1 << (@native_type.size * 8 - 1))
|
||||
res = -(-res & ((1 << (@native_type.size * 8)) - 1))
|
||||
end
|
||||
res
|
||||
end
|
||||
|
||||
# @param [Integer] val
|
||||
# @param ctx unused
|
||||
# @return [Array<Symbol, Integer>] list of symbol names corresponding to val, plus an optional remainder if some bits don't match any constant
|
||||
def from_native(val, ctx)
|
||||
flags = @kv_map.select { |_, v| v & val != 0 }
|
||||
list = flags.keys
|
||||
# force an unsigned value of the correct size
|
||||
val &= (1 << (@native_type.size * 8)) - 1 if @signed
|
||||
# If there are unmatch flags,
|
||||
# return them in an integer,
|
||||
# else information can be lost.
|
||||
# Similar to Enum behavior.
|
||||
remainder = val ^ flags.values.reduce(0, :|)
|
||||
list.push remainder unless remainder == 0
|
||||
return list
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
# @return (see FFI::LastError.error)
|
||||
# @see FFI::LastError.error
|
||||
def self.errno
|
||||
FFI::LastError.error
|
||||
end
|
||||
# @param error (see FFI::LastError.error=)
|
||||
# @return (see FFI::LastError.error=)
|
||||
# @see FFI::LastError.error=
|
||||
def self.errno=(error)
|
||||
FFI::LastError.error = error
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,109 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 JRuby project
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
require 'ffi/compat'
|
||||
require 'ffi/platform'
|
||||
require 'ffi/data_converter'
|
||||
require 'ffi/types'
|
||||
require 'ffi/library_path'
|
||||
require 'ffi/library'
|
||||
require 'ffi/errno'
|
||||
require 'ffi/abstract_memory'
|
||||
require 'ffi/pointer'
|
||||
require 'ffi/memorypointer'
|
||||
require 'ffi/struct'
|
||||
require 'ffi/union'
|
||||
require 'ffi/managedstruct'
|
||||
require 'ffi/callback'
|
||||
require 'ffi/io'
|
||||
require 'ffi/autopointer'
|
||||
require 'ffi/variadic'
|
||||
require 'ffi/enum'
|
||||
require 'ffi/version'
|
||||
require 'ffi/function'
|
||||
|
||||
module FFI
|
||||
module ModernForkTracking
|
||||
def _fork
|
||||
pid = super
|
||||
if pid == 0
|
||||
FFI._async_cb_dispatcher_atfork_child
|
||||
end
|
||||
pid
|
||||
end
|
||||
end
|
||||
|
||||
module LegacyForkTracking
|
||||
module KernelExt
|
||||
def fork
|
||||
if block_given?
|
||||
super do
|
||||
FFI._async_cb_dispatcher_atfork_child
|
||||
yield
|
||||
end
|
||||
else
|
||||
pid = super
|
||||
FFI._async_cb_dispatcher_atfork_child if pid.nil?
|
||||
pid
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module KernelExtPrivate
|
||||
include KernelExt
|
||||
private :fork
|
||||
end
|
||||
|
||||
module IOExt
|
||||
def popen(*args)
|
||||
return super unless args[0] == '-'
|
||||
|
||||
super(*args) do |pipe|
|
||||
FFI._async_cb_dispatcher_atfork_child if pipe.nil?
|
||||
yield pipe
|
||||
end
|
||||
end
|
||||
ruby2_keywords :popen if respond_to?(:ruby2_keywords)
|
||||
end
|
||||
end
|
||||
|
||||
if Process.respond_to?(:_fork)
|
||||
# The nice Ruby 3.1+ way of doing things
|
||||
::Process.singleton_class.prepend(ModernForkTracking)
|
||||
elsif Process.respond_to?(:fork)
|
||||
# Barf. Old CRuby.
|
||||
# Most of the inspiration for how to do this was stolen from ActiveSupport.
|
||||
::Object.prepend(LegacyForkTracking::KernelExtPrivate)
|
||||
::Object.singleton_class.prepend(LegacyForkTracking::KernelExt)
|
||||
::Kernel.prepend(LegacyForkTracking::KernelExtPrivate)
|
||||
::Kernel.singleton_class.prepend(LegacyForkTracking::KernelExt)
|
||||
::IO.singleton_class.prepend(LegacyForkTracking::IOExt)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,71 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 JRuby project
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
module FFI
|
||||
class Function
|
||||
# Only MRI allows function type queries
|
||||
if private_method_defined?(:type)
|
||||
# Retrieve the return type of the function
|
||||
#
|
||||
# This method returns FFI type returned by the function.
|
||||
#
|
||||
# @return [FFI::Type]
|
||||
def return_type
|
||||
type.return_type
|
||||
end
|
||||
|
||||
# Retrieve Array of parameter types
|
||||
#
|
||||
# This method returns an Array of FFI types accepted as function parameters.
|
||||
#
|
||||
# @return [Array<FFI::Type>]
|
||||
def param_types
|
||||
type.param_types
|
||||
end
|
||||
end
|
||||
|
||||
# Stash the Function in a module variable so it can be inspected by attached_functions.
|
||||
# On CRuby it also ensures that it does not get garbage collected.
|
||||
module RegisterAttach
|
||||
def attach(mod, name)
|
||||
funcs = mod.instance_variable_defined?("@ffi_functions") && mod.instance_variable_get("@ffi_functions")
|
||||
unless funcs
|
||||
funcs = {}
|
||||
mod.instance_variable_set("@ffi_functions", funcs)
|
||||
end
|
||||
funcs[name.to_sym] = self
|
||||
# Jump to the native attach method of CRuby, JRuby or Tuffleruby
|
||||
super
|
||||
end
|
||||
end
|
||||
private_constant :RegisterAttach
|
||||
prepend RegisterAttach
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# Copyright (C) 2008, 2009 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
|
||||
# This module implements a couple of class methods to play with IO.
|
||||
module IO
|
||||
# @param [Integer] fd file decriptor
|
||||
# @param [String] mode mode string
|
||||
# @return [::IO]
|
||||
# Synonym for IO::for_fd.
|
||||
def self.for_fd(fd, mode = "r")
|
||||
::IO.for_fd(fd, mode)
|
||||
end
|
||||
|
||||
# @param [#read] io io to read from
|
||||
# @param [AbstractMemory] buf destination for data read from +io+
|
||||
# @param [nil, Integer] len maximul number of bytes to read from +io+. If +nil+,
|
||||
# read until end of file.
|
||||
# @return [Integer] length really read, in bytes
|
||||
#
|
||||
# A version of IO#read that reads data from an IO and put then into a native buffer.
|
||||
#
|
||||
# This will be optimized at some future time to eliminate the double copy.
|
||||
#
|
||||
def self.native_read(io, buf, len)
|
||||
tmp = io.read(len)
|
||||
return -1 unless tmp
|
||||
buf.put_bytes(0, tmp)
|
||||
tmp.length
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,576 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
require 'ffi/dynamic_library'
|
||||
|
||||
module FFI
|
||||
CURRENT_PROCESS = USE_THIS_PROCESS_AS_LIBRARY = FFI.make_shareable(Object.new)
|
||||
|
||||
# @param [String, FFI::LibraryPath] lib library name or LibraryPath object
|
||||
# @return [String] library name formatted for current platform
|
||||
# Transform a generic library name to a platform library name
|
||||
# @example
|
||||
# # Linux
|
||||
# FFI.map_library_name 'c' # -> "libc.so.6"
|
||||
# FFI.map_library_name 'jpeg' # -> "libjpeg.so"
|
||||
# # Windows
|
||||
# FFI.map_library_name 'c' # -> "msvcrt.dll"
|
||||
# FFI.map_library_name 'jpeg' # -> "jpeg.dll"
|
||||
def self.map_library_name(lib)
|
||||
# Mangle the library name to reflect the native library naming conventions
|
||||
LibraryPath.wrap(lib).to_s
|
||||
end
|
||||
|
||||
# Exception raised when a function is not found in libraries
|
||||
class NotFoundError < LoadError
|
||||
def initialize(function, *libraries)
|
||||
super("Function '#{function}' not found in [#{libraries[0].nil? ? 'current process' : libraries.join(", ")}]")
|
||||
end
|
||||
end
|
||||
|
||||
# This module is the base to use native functions.
|
||||
#
|
||||
# A basic usage may be:
|
||||
# require 'ffi'
|
||||
#
|
||||
# module Hello
|
||||
# extend FFI::Library
|
||||
# ffi_lib FFI::Library::LIBC
|
||||
# attach_function 'puts', [ :string ], :int
|
||||
# end
|
||||
#
|
||||
# Hello.puts("Hello, World")
|
||||
#
|
||||
#
|
||||
module Library
|
||||
CURRENT_PROCESS = FFI::CURRENT_PROCESS
|
||||
LIBC = FFI::Platform::LIBC
|
||||
|
||||
# @param mod extended object
|
||||
# @return [nil]
|
||||
# @raise {RuntimeError} if +mod+ is not a Module
|
||||
# Test if extended object is a Module. If not, raise RuntimeError.
|
||||
def self.extended(mod)
|
||||
raise RuntimeError.new("must only be extended by module") unless mod.kind_of?(::Module)
|
||||
end
|
||||
|
||||
|
||||
# @param [Array] names names of libraries to load
|
||||
# @return [Array<DynamicLibrary>]
|
||||
# @raise {LoadError} if a library cannot be opened
|
||||
# Load native libraries.
|
||||
def ffi_lib(*names)
|
||||
raise LoadError.new("library names list must not be empty") if names.empty?
|
||||
|
||||
lib_flags = defined?(@ffi_lib_flags) && @ffi_lib_flags
|
||||
|
||||
@ffi_libs = names.map do |name|
|
||||
FFI::DynamicLibrary.send(:load_library, name, lib_flags)
|
||||
end
|
||||
end
|
||||
|
||||
# Set the calling convention for {#attach_function} and {#callback}
|
||||
#
|
||||
# @see http://en.wikipedia.org/wiki/Stdcall#stdcall
|
||||
# @note +:stdcall+ is typically used for attaching Windows API functions
|
||||
#
|
||||
# @param [Symbol] convention one of +:default+, +:stdcall+
|
||||
# @return [Symbol] the new calling convention
|
||||
def ffi_convention(convention = nil)
|
||||
@ffi_convention ||= :default
|
||||
@ffi_convention = convention if convention
|
||||
@ffi_convention
|
||||
end
|
||||
|
||||
# @see #ffi_lib
|
||||
# @return [Array<FFI::DynamicLibrary>] array of currently loaded FFI libraries
|
||||
# @raise [LoadError] if no libraries have been loaded (using {#ffi_lib})
|
||||
# Get FFI libraries loaded using {#ffi_lib}.
|
||||
def ffi_libraries
|
||||
raise LoadError.new("no library specified") if !defined?(@ffi_libs) || @ffi_libs.empty?
|
||||
@ffi_libs
|
||||
end
|
||||
|
||||
# Flags used in {#ffi_lib}.
|
||||
#
|
||||
# This map allows you to supply symbols to {#ffi_lib_flags} instead of
|
||||
# the actual constants.
|
||||
FlagsMap = {
|
||||
:global => DynamicLibrary::RTLD_GLOBAL,
|
||||
:local => DynamicLibrary::RTLD_LOCAL,
|
||||
:lazy => DynamicLibrary::RTLD_LAZY,
|
||||
:now => DynamicLibrary::RTLD_NOW
|
||||
}
|
||||
|
||||
# Sets library flags for {#ffi_lib}.
|
||||
#
|
||||
# @example
|
||||
# ffi_lib_flags(:lazy, :local) # => 5
|
||||
#
|
||||
# @param [Symbol, …] flags (see {FlagsMap})
|
||||
# @return [Integer] the new value
|
||||
def ffi_lib_flags(*flags)
|
||||
@ffi_lib_flags = flags.inject(0) { |result, f| result | FlagsMap[f] }
|
||||
end
|
||||
|
||||
|
||||
##
|
||||
# @overload attach_function(func, args, returns, options = {})
|
||||
# @example attach function without an explicit name
|
||||
# module Foo
|
||||
# extend FFI::Library
|
||||
# ffi_lib FFI::Library::LIBC
|
||||
# attach_function :malloc, [:size_t], :pointer
|
||||
# end
|
||||
# # now callable via Foo.malloc
|
||||
# @overload attach_function(name, func, args, returns, options = {})
|
||||
# @example attach function with an explicit name
|
||||
# module Bar
|
||||
# extend FFI::Library
|
||||
# ffi_lib FFI::Library::LIBC
|
||||
# attach_function :c_malloc, :malloc, [:size_t], :pointer
|
||||
# end
|
||||
# # now callable via Bar.c_malloc
|
||||
#
|
||||
# Attach C function +func+ to this module.
|
||||
#
|
||||
#
|
||||
# @param [#to_s] name name of ruby method to attach as
|
||||
# @param [#to_s] func name of C function to attach
|
||||
# @param [Array<Symbol>] args an array of types
|
||||
# @param [Symbol] returns type of return value
|
||||
# @option options [Boolean] :blocking (@blocking) set to true if the C function is a blocking call
|
||||
# @option options [Symbol] :convention (:default) calling convention (see {#ffi_convention})
|
||||
# @option options [FFI::Enums] :enums
|
||||
# @option options [Hash] :type_map
|
||||
#
|
||||
# @return [FFI::VariadicInvoker]
|
||||
#
|
||||
# @raise [FFI::NotFoundError] if +func+ cannot be found in the attached libraries (see {#ffi_lib})
|
||||
def attach_function(name, func, args, returns = nil, options = nil)
|
||||
mname, a2, a3, a4, a5 = name, func, args, returns, options
|
||||
cname, arg_types, ret_type, opts = (a4 && (a2.is_a?(String) || a2.is_a?(Symbol))) ? [ a2, a3, a4, a5 ] : [ mname.to_s, a2, a3, a4 ]
|
||||
|
||||
# Convert :foo to the native type
|
||||
arg_types = arg_types.map { |e| find_type(e) }
|
||||
options = {
|
||||
:convention => ffi_convention,
|
||||
:type_map => defined?(@ffi_typedefs) ? @ffi_typedefs : nil,
|
||||
:blocking => defined?(@blocking) && @blocking,
|
||||
:enums => defined?(@ffi_enums) ? @ffi_enums : nil,
|
||||
}
|
||||
|
||||
@blocking = false
|
||||
options.merge!(opts) if opts && opts.is_a?(Hash)
|
||||
|
||||
# Try to locate the function in any of the libraries
|
||||
invokers = []
|
||||
ffi_libraries.each do |lib|
|
||||
if invokers.empty?
|
||||
begin
|
||||
function = nil
|
||||
function_names(cname, arg_types).find do |fname|
|
||||
function = lib.find_function(fname)
|
||||
end
|
||||
raise LoadError unless function
|
||||
|
||||
invokers << if arg_types[-1] == FFI::NativeType::VARARGS
|
||||
VariadicInvoker.new(function, arg_types, find_type(ret_type), options)
|
||||
|
||||
else
|
||||
Function.new(find_type(ret_type), arg_types, function, options)
|
||||
end
|
||||
|
||||
rescue LoadError
|
||||
end
|
||||
end
|
||||
end
|
||||
invoker = invokers.compact.shift
|
||||
raise FFI::NotFoundError.new(cname.to_s, ffi_libraries.map { |lib| lib.name }) unless invoker
|
||||
|
||||
invoker.attach(self, mname.to_s)
|
||||
invoker
|
||||
end
|
||||
|
||||
# @param [#to_s] name function name
|
||||
# @param [Array] arg_types function's argument types
|
||||
# @return [Array<String>]
|
||||
# This function returns a list of possible names to lookup.
|
||||
# @note Function names on windows may be decorated if they are using stdcall. See
|
||||
# * http://en.wikipedia.org/wiki/Name_mangling#C_name_decoration_in_Microsoft_Windows
|
||||
# * http://msdn.microsoft.com/en-us/library/zxk0tw93%28v=VS.100%29.aspx
|
||||
# * http://en.wikibooks.org/wiki/X86_Disassembly/Calling_Conventions#STDCALL
|
||||
# Note that decorated names can be overridden via def files. Also note that the
|
||||
# windows api, although using, doesn't have decorated names.
|
||||
def function_names(name, arg_types)
|
||||
result = [name.to_s]
|
||||
if ffi_convention == :stdcall
|
||||
# Get the size of each parameter
|
||||
size = arg_types.inject(0) do |mem, arg|
|
||||
size = arg.size
|
||||
# The size must be a multiple of 4
|
||||
size += (4 - size) % 4
|
||||
mem + size
|
||||
end
|
||||
|
||||
result << "_#{name.to_s}@#{size}" # win32
|
||||
result << "#{name.to_s}@#{size}" # win64
|
||||
end
|
||||
result
|
||||
end
|
||||
|
||||
# @overload attach_variable(mname, cname, type)
|
||||
# @param [#to_s] mname name of ruby method to attach as
|
||||
# @param [#to_s] cname name of C variable to attach
|
||||
# @param [DataConverter, Struct, Symbol, Type] type C variable's type
|
||||
# @example
|
||||
# module Bar
|
||||
# extend FFI::Library
|
||||
# ffi_lib 'my_lib'
|
||||
# attach_variable :c_myvar, :myvar, :long
|
||||
# end
|
||||
# # now callable via Bar.c_myvar
|
||||
# @overload attach_variable(cname, type)
|
||||
# @param [#to_s] mname name of ruby method to attach as
|
||||
# @param [DataConverter, Struct, Symbol, Type] type C variable's type
|
||||
# @example
|
||||
# module Bar
|
||||
# extend FFI::Library
|
||||
# ffi_lib 'my_lib'
|
||||
# attach_variable :myvar, :long
|
||||
# end
|
||||
# # now callable via Bar.myvar
|
||||
# @return [DynamicLibrary::Symbol]
|
||||
# @raise {FFI::NotFoundError} if +cname+ cannot be found in libraries
|
||||
#
|
||||
# Attach C variable +cname+ to this module.
|
||||
def attach_variable(mname, a1, a2 = nil)
|
||||
cname, type = a2 ? [ a1, a2 ] : [ mname.to_s, a1 ]
|
||||
mname = mname.to_sym
|
||||
address = nil
|
||||
ffi_libraries.each do |lib|
|
||||
begin
|
||||
address = lib.find_variable(cname.to_s)
|
||||
break unless address.nil?
|
||||
rescue LoadError
|
||||
end
|
||||
end
|
||||
|
||||
raise FFI::NotFoundError.new(cname, ffi_libraries) if address.nil? || address.null?
|
||||
if type.is_a?(Class) && type < FFI::Struct
|
||||
# If it is a global struct, just attach directly to the pointer
|
||||
s = s = type.new(address) # Assigning twice to suppress unused variable warning
|
||||
self.module_eval <<-code, __FILE__, __LINE__
|
||||
@ffi_gsvars = {} unless defined?(@ffi_gsvars)
|
||||
@ffi_gsvars[#{mname.inspect}] = s
|
||||
def self.#{mname}
|
||||
@ffi_gsvars[#{mname.inspect}]
|
||||
end
|
||||
code
|
||||
|
||||
else
|
||||
sc = Class.new(FFI::Struct)
|
||||
sc.layout :gvar, find_type(type)
|
||||
s = sc.new(address)
|
||||
#
|
||||
# Attach to this module as mname/mname=
|
||||
#
|
||||
self.module_eval <<-code, __FILE__, __LINE__
|
||||
@ffi_gvars = {} unless defined?(@ffi_gvars)
|
||||
@ffi_gvars[#{mname.inspect}] = s
|
||||
def self.#{mname}
|
||||
@ffi_gvars[#{mname.inspect}][:gvar]
|
||||
end
|
||||
def self.#{mname}=(value)
|
||||
@ffi_gvars[#{mname.inspect}][:gvar] = value
|
||||
end
|
||||
code
|
||||
|
||||
end
|
||||
|
||||
address
|
||||
end
|
||||
|
||||
|
||||
# @overload callback(name, params, ret)
|
||||
# @param name callback name to add to type map
|
||||
# @param [Array] params array of parameters' types
|
||||
# @param [DataConverter, Struct, Symbol, Type] ret callback return type
|
||||
# @overload callback(params, ret)
|
||||
# @param [Array] params array of parameters' types
|
||||
# @param [DataConverter, Struct, Symbol, Type] ret callback return type
|
||||
# @return [FFI::CallbackInfo]
|
||||
def callback(*args)
|
||||
raise ArgumentError, "wrong number of arguments" if args.length < 2 || args.length > 3
|
||||
name, params, ret = if args.length == 3
|
||||
args
|
||||
else
|
||||
[ nil, args[0], args[1] ]
|
||||
end
|
||||
|
||||
native_params = params.map { |e| find_type(e) }
|
||||
raise ArgumentError, "callbacks cannot have variadic parameters" if native_params.include?(FFI::Type::VARARGS)
|
||||
options = Hash.new
|
||||
options[:convention] = ffi_convention
|
||||
options[:enums] = @ffi_enums if defined?(@ffi_enums)
|
||||
ret_type = find_type(ret)
|
||||
if ret_type == Type::STRING
|
||||
raise TypeError, ":string is not allowed as return type of callbacks"
|
||||
end
|
||||
cb = FFI::CallbackInfo.new(ret_type, native_params, options)
|
||||
|
||||
# Add to the symbol -> type map (unless there was no name)
|
||||
unless name.nil?
|
||||
typedef cb, name
|
||||
end
|
||||
|
||||
cb
|
||||
end
|
||||
|
||||
# Register or get an already registered type definition.
|
||||
#
|
||||
# To register a new type definition, +old+ should be a {FFI::Type}. +add+
|
||||
# is in this case the type definition.
|
||||
#
|
||||
# If +old+ is a {DataConverter}, a {Type::Mapped} is returned.
|
||||
#
|
||||
# If +old+ is +:enum+
|
||||
# * and +add+ is an +Array+, a call to {#enum} is made with +add+ as single parameter;
|
||||
# * in others cases, +info+ is used to create a named enum.
|
||||
#
|
||||
# If +old+ is a key for type map, #typedef get +old+ type definition.
|
||||
#
|
||||
# @param [DataConverter, Symbol, Type] old
|
||||
# @param [Symbol] add
|
||||
# @param [Symbol] info
|
||||
# @return [FFI::Enum, FFI::Type]
|
||||
def typedef(old, add, info=nil)
|
||||
@ffi_typedefs = Hash.new unless defined?(@ffi_typedefs)
|
||||
|
||||
@ffi_typedefs[add] = if old.kind_of?(FFI::Type)
|
||||
old
|
||||
|
||||
elsif @ffi_typedefs.has_key?(old)
|
||||
@ffi_typedefs[old]
|
||||
|
||||
elsif old.is_a?(DataConverter)
|
||||
FFI::Type::Mapped.new(old)
|
||||
|
||||
elsif old == :enum
|
||||
if add.kind_of?(Array)
|
||||
self.enum(add)
|
||||
else
|
||||
self.enum(info, add)
|
||||
end
|
||||
|
||||
else
|
||||
FFI.find_type(old)
|
||||
end
|
||||
end
|
||||
|
||||
# @param [DataConverter, Type, Struct, Symbol] t type to find
|
||||
# @return [Type]
|
||||
# Find a type definition.
|
||||
def find_type(t)
|
||||
if t.kind_of?(Type)
|
||||
t
|
||||
|
||||
elsif defined?(@ffi_typedefs) && @ffi_typedefs.has_key?(t)
|
||||
@ffi_typedefs[t]
|
||||
|
||||
elsif t.is_a?(Class) && t < Struct
|
||||
Type::POINTER
|
||||
|
||||
elsif t.is_a?(DataConverter)
|
||||
# Add a typedef so next time the converter is used, it hits the cache
|
||||
typedef Type::Mapped.new(t), t
|
||||
|
||||
end || FFI.find_type(t)
|
||||
end
|
||||
|
||||
private
|
||||
# Generic enum builder
|
||||
# @param [Class] klass can be one of FFI::Enum or FFI::Bitmask
|
||||
# @param args (see #enum or #bitmask)
|
||||
def generic_enum(klass, *args)
|
||||
native_type = args.first.kind_of?(FFI::Type) ? args.shift : nil
|
||||
name, values = if args[0].kind_of?(Symbol) && args[1].kind_of?(Array)
|
||||
[ args[0], args[1] ]
|
||||
elsif args[0].kind_of?(Array)
|
||||
[ nil, args[0] ]
|
||||
else
|
||||
[ nil, args ]
|
||||
end
|
||||
@ffi_enums = FFI::Enums.new unless defined?(@ffi_enums)
|
||||
@ffi_enums << (e = native_type ? klass.new(native_type, values, name) : klass.new(values, name))
|
||||
|
||||
# If called with a name, add a typedef alias
|
||||
typedef(e, name) if name
|
||||
e
|
||||
end
|
||||
|
||||
public
|
||||
# @overload enum(name, values)
|
||||
# Create a named enum.
|
||||
# @example
|
||||
# enum :foo, [:zero, :one, :two] # named enum
|
||||
# @param [Symbol] name name for new enum
|
||||
# @param [Array] values values for enum
|
||||
# @overload enum(*args)
|
||||
# Create an unnamed enum.
|
||||
# @example
|
||||
# enum :zero, :one, :two # unnamed enum
|
||||
# @param args values for enum
|
||||
# @overload enum(values)
|
||||
# Create an unnamed enum.
|
||||
# @example
|
||||
# enum [:zero, :one, :two] # unnamed enum, equivalent to above example
|
||||
# @param [Array] values values for enum
|
||||
# @overload enum(native_type, name, values)
|
||||
# Create a named enum and specify the native type.
|
||||
# @example
|
||||
# enum FFI::Type::UINT64, :foo, [:zero, :one, :two] # named enum
|
||||
# @param [FFI::Type] native_type native type for new enum
|
||||
# @param [Symbol] name name for new enum
|
||||
# @param [Array] values values for enum
|
||||
# @overload enum(native_type, *args)
|
||||
# Create an unnamed enum and specify the native type.
|
||||
# @example
|
||||
# enum FFI::Type::UINT64, :zero, :one, :two # unnamed enum
|
||||
# @param [FFI::Type] native_type native type for new enum
|
||||
# @param args values for enum
|
||||
# @overload enum(native_type, values)
|
||||
# Create an unnamed enum and specify the native type.
|
||||
# @example
|
||||
# enum Type::UINT64, [:zero, :one, :two] # unnamed enum, equivalent to above example
|
||||
# @param [FFI::Type] native_type native type for new enum
|
||||
# @param [Array] values values for enum
|
||||
# @return [FFI::Enum]
|
||||
# Create a new {FFI::Enum}.
|
||||
def enum(*args)
|
||||
generic_enum(FFI::Enum, *args)
|
||||
end
|
||||
|
||||
# @overload bitmask(name, values)
|
||||
# Create a named bitmask
|
||||
# @example
|
||||
# bitmask :foo, [:red, :green, :blue] # bits 0,1,2 are used
|
||||
# bitmask :foo, [:red, :green, 5, :blue] # bits 0,5,6 are used
|
||||
# @param [Symbol] name for new bitmask
|
||||
# @param [Array<Symbol, Integer>] values for new bitmask
|
||||
# @overload bitmask(*args)
|
||||
# Create an unamed bitmask
|
||||
# @example
|
||||
# bm = bitmask :red, :green, :blue # bits 0,1,2 are used
|
||||
# bm = bitmask :red, :green, 5, blue # bits 0,5,6 are used
|
||||
# @param [Symbol, Integer] args values for new bitmask
|
||||
# @overload bitmask(values)
|
||||
# Create an unamed bitmask
|
||||
# @example
|
||||
# bm = bitmask [:red, :green, :blue] # bits 0,1,2 are used
|
||||
# bm = bitmask [:red, :green, 5, blue] # bits 0,5,6 are used
|
||||
# @param [Array<Symbol, Integer>] values for new bitmask
|
||||
# @overload bitmask(native_type, name, values)
|
||||
# Create a named enum and specify the native type.
|
||||
# @example
|
||||
# bitmask FFI::Type::UINT64, :foo, [:red, :green, :blue]
|
||||
# @param [FFI::Type] native_type native type for new bitmask
|
||||
# @param [Symbol] name for new bitmask
|
||||
# @param [Array<Symbol, Integer>] values for new bitmask
|
||||
# @overload bitmask(native_type, *args)
|
||||
# @example
|
||||
# bitmask FFI::Type::UINT64, :red, :green, :blue
|
||||
# @param [FFI::Type] native_type native type for new bitmask
|
||||
# @param [Symbol, Integer] args values for new bitmask
|
||||
# @overload bitmask(native_type, values)
|
||||
# Create a named enum and specify the native type.
|
||||
# @example
|
||||
# bitmask FFI::Type::UINT64, [:red, :green, :blue]
|
||||
# @param [FFI::Type] native_type native type for new bitmask
|
||||
# @param [Array<Symbol, Integer>] values for new bitmask
|
||||
# @return [FFI::Bitmask]
|
||||
# Create a new FFI::Bitmask
|
||||
def bitmask(*args)
|
||||
generic_enum(FFI::Bitmask, *args)
|
||||
end
|
||||
|
||||
# @param name
|
||||
# @return [FFI::Enum]
|
||||
# Find an enum by name.
|
||||
def enum_type(name)
|
||||
@ffi_enums.find(name) if defined?(@ffi_enums)
|
||||
end
|
||||
|
||||
# @param symbol
|
||||
# @return [FFI::Enum]
|
||||
# Find an enum by a symbol it contains.
|
||||
def enum_value(symbol)
|
||||
@ffi_enums.__map_symbol(symbol)
|
||||
end
|
||||
|
||||
# Retrieve all attached functions and their function signature
|
||||
#
|
||||
# This method returns a Hash of method names of attached functions connected by #attach_function and the corresponding function type.
|
||||
# The function type responds to #return_type and #param_types which return the FFI types of the function signature.
|
||||
#
|
||||
# @return [Hash< Symbol => [FFI::Function, FFI::VariadicInvoker] >]
|
||||
def attached_functions
|
||||
@ffi_functions || {}
|
||||
end
|
||||
|
||||
# Retrieve all attached variables and their type
|
||||
#
|
||||
# This method returns a Hash of variable names and the corresponding type or variables connected by #attach_variable .
|
||||
#
|
||||
# @return [Hash< Symbol => ffi_type >]
|
||||
def attached_variables
|
||||
(
|
||||
(defined?(@ffi_gsvars) ? @ffi_gsvars : {}).map do |name, gvar|
|
||||
[name, gvar.class]
|
||||
end +
|
||||
(defined?(@ffi_gvars) ? @ffi_gvars : {}).map do |name, gvar|
|
||||
[name, gvar.layout[:gvar].type]
|
||||
end
|
||||
).to_h
|
||||
end
|
||||
|
||||
# Freeze all definitions of the module
|
||||
#
|
||||
# This freezes the module's definitions, so that it can be used in a Ractor.
|
||||
# No further methods or variables can be attached and no further enums or typedefs can be created in this module afterwards.
|
||||
def freeze
|
||||
instance_variables.each do |name|
|
||||
var = instance_variable_get(name)
|
||||
FFI.make_shareable(var)
|
||||
end
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,109 @@
|
||||
#
|
||||
# Copyright (C) 2023 Lars Kanis
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
# Transform a generic library name and ABI number to a platform library name
|
||||
#
|
||||
# Example:
|
||||
# module LibVips
|
||||
# extend FFI::Library
|
||||
# ffi_lib LibraryPath.new("vips", abi_number: 42)
|
||||
# end
|
||||
#
|
||||
# This translates to the following library file names:
|
||||
# libvips-42.dll on Windows
|
||||
# libvips.so.42 on Linux
|
||||
# libvips.42.dylib on Macos
|
||||
#
|
||||
# See https://packaging.ubuntu.com/html/libraries.html for more information about library naming.
|
||||
class LibraryPath
|
||||
attr_reader :name
|
||||
attr_reader :abi_number
|
||||
attr_reader :root
|
||||
|
||||
# Build a new library path
|
||||
#
|
||||
# * <tt>name</tt> : The name of the library without file prefix or suffix.
|
||||
# * <tt>abi_number</tt> : The ABI number of the library.
|
||||
# * <tt>root</tt> : An optional base path prepended to the library name.
|
||||
def initialize(name, abi_number: nil, root: nil)
|
||||
@name = name
|
||||
@abi_number = abi_number
|
||||
@root = root
|
||||
end
|
||||
|
||||
def self.wrap(value)
|
||||
# We allow instances of LibraryPath to pass through transparently:
|
||||
return value if value.is_a?(self)
|
||||
|
||||
# We special case a library named 'c' to be the standard C library:
|
||||
return Library::LIBC if value == 'c'
|
||||
|
||||
# If provided a relative file name we convert it into a library path:
|
||||
if value && File.basename(value) == value
|
||||
return self.new(value)
|
||||
end
|
||||
|
||||
# Otherwise, we assume it's a full path to a library:
|
||||
return value
|
||||
end
|
||||
|
||||
def full_name
|
||||
# If the abi_number is given, we format it specifically according to platform rules:
|
||||
if abi_number
|
||||
if Platform.windows?
|
||||
"#{Platform::LIBPREFIX}#{name}-#{abi_number}.#{Platform::LIBSUFFIX}"
|
||||
elsif Platform.mac?
|
||||
"#{Platform::LIBPREFIX}#{name}.#{abi_number}.#{Platform::LIBSUFFIX}"
|
||||
else # Linux? BSD? etc.
|
||||
"#{Platform::LIBPREFIX}#{name}.#{Platform::LIBSUFFIX}.#{abi_number}"
|
||||
end
|
||||
else
|
||||
# Otherwise we just add prefix and suffix:
|
||||
lib = name
|
||||
# Add library prefix if missing
|
||||
lib = Platform::LIBPREFIX + lib unless lib =~ /^#{Platform::LIBPREFIX}/
|
||||
# Add library extension if missing
|
||||
r = Platform.windows? || Platform.mac? ? "\\.#{Platform::LIBSUFFIX}$" : "\\.so($|\\.[1234567890]+)"
|
||||
lib += ".#{Platform::LIBSUFFIX}" unless lib =~ /#{r}/
|
||||
lib
|
||||
end
|
||||
end
|
||||
|
||||
def to_s
|
||||
if root
|
||||
# If the root path is given, we generate the full path:
|
||||
File.join(root, full_name)
|
||||
else
|
||||
full_name
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,84 @@
|
||||
# Copyright (C) 2008 Mike Dalessio
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
module FFI
|
||||
#
|
||||
# FFI::ManagedStruct allows custom garbage-collection of your FFI::Structs.
|
||||
#
|
||||
# The typical use case would be when interacting with a library
|
||||
# that has a nontrivial memory management design, such as a linked
|
||||
# list or a binary tree.
|
||||
#
|
||||
# When the {Struct} instance is garbage collected, FFI::ManagedStruct will
|
||||
# invoke the class's release() method during object finalization.
|
||||
#
|
||||
# @example Example usage:
|
||||
# module MyLibrary
|
||||
# ffi_lib "libmylibrary"
|
||||
# attach_function :new_dlist, [], :pointer
|
||||
# attach_function :destroy_dlist, [:pointer], :void
|
||||
# end
|
||||
#
|
||||
# class DoublyLinkedList < FFI::ManagedStruct
|
||||
# @@@
|
||||
# struct do |s|
|
||||
# s.name 'struct dlist'
|
||||
# s.include 'dlist.h'
|
||||
# s.field :head, :pointer
|
||||
# s.field :tail, :pointer
|
||||
# end
|
||||
# @@@
|
||||
#
|
||||
# def self.release ptr
|
||||
# MyLibrary.destroy_dlist(ptr)
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# begin
|
||||
# ptr = DoublyLinkedList.new(MyLibrary.new_dlist)
|
||||
# # do something with the list
|
||||
# end
|
||||
# # struct is out of scope, and will be GC'd using DoublyLinkedList#release
|
||||
#
|
||||
#
|
||||
class ManagedStruct < FFI::Struct
|
||||
|
||||
# @overload initialize(pointer)
|
||||
# @param [Pointer] pointer
|
||||
# Create a new ManagedStruct which will invoke the class method #release on
|
||||
# @overload initialize
|
||||
# A new instance of FFI::ManagedStruct.
|
||||
def initialize(pointer=nil)
|
||||
raise NoMethodError, "release() not implemented for class #{self}" unless self.class.respond_to?(:release, true)
|
||||
raise ArgumentError, "Must supply a pointer to memory for the Struct" unless pointer
|
||||
super AutoPointer.new(pointer, self.class.method(:release))
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1 @@
|
||||
# This class is now implemented in C
|
||||
@@ -0,0 +1,187 @@
|
||||
#
|
||||
# Copyright (C) 2008, 2009 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
require 'rbconfig'
|
||||
require_relative 'compat'
|
||||
|
||||
module FFI
|
||||
class PlatformError < LoadError; end
|
||||
|
||||
# This module defines different constants and class methods to play with
|
||||
# various platforms.
|
||||
module Platform
|
||||
OS = FFI.make_shareable(case RbConfig::CONFIG['host_os'].downcase
|
||||
when /linux/
|
||||
"linux"
|
||||
when /darwin/
|
||||
"darwin"
|
||||
when /freebsd/
|
||||
"freebsd"
|
||||
when /netbsd/
|
||||
"netbsd"
|
||||
when /openbsd/
|
||||
"openbsd"
|
||||
when /dragonfly/
|
||||
"dragonflybsd"
|
||||
when /sunos|solaris/
|
||||
"solaris"
|
||||
when /mingw|mswin/
|
||||
"windows"
|
||||
else
|
||||
RbConfig::CONFIG['host_os'].downcase
|
||||
end)
|
||||
|
||||
OSVERSION = RbConfig::CONFIG['host_os'].gsub(/[^\d]/, '').to_i
|
||||
|
||||
CPU = FFI.make_shareable(RbConfig::CONFIG['host_cpu'])
|
||||
|
||||
ARCH = FFI.make_shareable(case CPU.downcase
|
||||
when /amd64|x86_64|x64/
|
||||
"x86_64"
|
||||
when /i\d86|x86|i86pc/
|
||||
"i386"
|
||||
when /ppc64|powerpc64/
|
||||
"powerpc64"
|
||||
when /ppc|powerpc/
|
||||
"powerpc"
|
||||
when /sparcv9|sparc64/
|
||||
"sparcv9"
|
||||
when /arm64|aarch64/ # MacOS calls it "arm64", other operating systems "aarch64"
|
||||
"aarch64"
|
||||
when /^arm/
|
||||
if OS == "darwin" # Ruby before 3.0 reports "arm" instead of "arm64" as host_cpu on darwin
|
||||
"aarch64"
|
||||
else
|
||||
"arm"
|
||||
end
|
||||
else
|
||||
RbConfig::CONFIG['host_cpu']
|
||||
end)
|
||||
|
||||
private
|
||||
# @param [String) os
|
||||
# @return [Boolean]
|
||||
# Test if current OS is +os+.
|
||||
def self.is_os(os)
|
||||
OS == os
|
||||
end
|
||||
|
||||
IS_GNU = defined?(GNU_LIBC)
|
||||
IS_LINUX = is_os("linux")
|
||||
IS_MAC = is_os("darwin")
|
||||
IS_FREEBSD = is_os("freebsd")
|
||||
IS_NETBSD = is_os("netbsd")
|
||||
IS_OPENBSD = is_os("openbsd")
|
||||
IS_DRAGONFLYBSD = is_os("dragonfly")
|
||||
IS_SOLARIS = is_os("solaris")
|
||||
IS_WINDOWS = is_os("windows")
|
||||
IS_BSD = IS_MAC || IS_FREEBSD || IS_NETBSD || IS_OPENBSD || IS_DRAGONFLYBSD
|
||||
|
||||
# Add the version for known ABI breaks
|
||||
name_version = "12" if IS_FREEBSD && OSVERSION >= 12 # 64-bit inodes
|
||||
|
||||
NAME = FFI.make_shareable("#{ARCH}-#{OS}#{name_version}")
|
||||
CONF_DIR = FFI.make_shareable(File.join(File.dirname(__FILE__), 'platform', NAME))
|
||||
|
||||
public
|
||||
|
||||
LIBPREFIX = FFI.make_shareable(case OS
|
||||
when /windows|msys/
|
||||
''
|
||||
when /cygwin/
|
||||
'cyg'
|
||||
else
|
||||
'lib'
|
||||
end)
|
||||
|
||||
LIBSUFFIX = FFI.make_shareable(case OS
|
||||
when /darwin/
|
||||
'dylib'
|
||||
when /linux|bsd|solaris/
|
||||
'so'
|
||||
when /windows|cygwin|msys/
|
||||
'dll'
|
||||
else
|
||||
# Punt and just assume a sane unix (i.e. anything but AIX)
|
||||
'so'
|
||||
end)
|
||||
|
||||
LIBC = FFI.make_shareable(if IS_WINDOWS
|
||||
crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
|
||||
"#{crtname}.dll"
|
||||
elsif IS_GNU
|
||||
GNU_LIBC
|
||||
elsif OS == 'cygwin'
|
||||
"cygwin1.dll"
|
||||
elsif OS == 'msys'
|
||||
# Not sure how msys 1.0 behaves, tested on MSYS2.
|
||||
"msys-2.0.dll"
|
||||
else
|
||||
"#{LIBPREFIX}c.#{LIBSUFFIX}"
|
||||
end)
|
||||
|
||||
LITTLE_ENDIAN = 1234 unless defined?(LITTLE_ENDIAN)
|
||||
BIG_ENDIAN = 4321 unless defined?(BIG_ENDIAN)
|
||||
unless defined?(BYTE_ORDER)
|
||||
BYTE_ORDER = [0x12345678].pack("I") == [0x12345678].pack("N") ? BIG_ENDIAN : LITTLE_ENDIAN
|
||||
end
|
||||
|
||||
# Test if current OS is a *BSD (include MAC)
|
||||
# @return [Boolean]
|
||||
def self.bsd?
|
||||
IS_BSD
|
||||
end
|
||||
|
||||
# Test if current OS is Windows
|
||||
# @return [Boolean]
|
||||
def self.windows?
|
||||
IS_WINDOWS
|
||||
end
|
||||
|
||||
# Test if current OS is Mac OS
|
||||
# @return [Boolean]
|
||||
def self.mac?
|
||||
IS_MAC
|
||||
end
|
||||
|
||||
# Test if current OS is Solaris (Sun OS)
|
||||
# @return [Boolean]
|
||||
def self.solaris?
|
||||
IS_SOLARIS
|
||||
end
|
||||
|
||||
# Test if current OS is a unix OS
|
||||
# @return [Boolean]
|
||||
def self.unix?
|
||||
!IS_WINDOWS
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
rbx.platform.typedef.__darwin_blkcnt_t = long_long
|
||||
rbx.platform.typedef.__darwin_blksize_t = int
|
||||
rbx.platform.typedef.__darwin_clock_t = ulong
|
||||
rbx.platform.typedef.__darwin_ct_rune_t = int
|
||||
rbx.platform.typedef.__darwin_dev_t = int
|
||||
rbx.platform.typedef.__darwin_fsblkcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_fsfilcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_gid_t = uint
|
||||
rbx.platform.typedef.__darwin_id_t = uint
|
||||
rbx.platform.typedef.__darwin_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_ino_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_intptr_t = long
|
||||
rbx.platform.typedef.__darwin_mach_port_name_t = uint
|
||||
rbx.platform.typedef.__darwin_mach_port_t = uint
|
||||
rbx.platform.typedef.__darwin_mode_t = ushort
|
||||
rbx.platform.typedef.__darwin_natural_t = uint
|
||||
rbx.platform.typedef.__darwin_off_t = long_long
|
||||
rbx.platform.typedef.__darwin_pid_t = int
|
||||
rbx.platform.typedef.__darwin_pthread_key_t = ulong
|
||||
rbx.platform.typedef.__darwin_ptrdiff_t = long
|
||||
rbx.platform.typedef.__darwin_rune_t = int
|
||||
rbx.platform.typedef.__darwin_sigset_t = uint
|
||||
rbx.platform.typedef.__darwin_size_t = ulong
|
||||
rbx.platform.typedef.__darwin_socklen_t = uint
|
||||
rbx.platform.typedef.__darwin_ssize_t = long
|
||||
rbx.platform.typedef.__darwin_suseconds_t = int
|
||||
rbx.platform.typedef.__darwin_time_t = long
|
||||
rbx.platform.typedef.__darwin_uid_t = uint
|
||||
rbx.platform.typedef.__darwin_useconds_t = uint
|
||||
rbx.platform.typedef.__darwin_uuid_string_t[37] = char
|
||||
rbx.platform.typedef.__darwin_uuid_t[16] = uchar
|
||||
rbx.platform.typedef.__darwin_wchar_t = int
|
||||
rbx.platform.typedef.__darwin_wint_t = int
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.errno_t = int
|
||||
rbx.platform.typedef.fd_mask = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = uint
|
||||
rbx.platform.typedef.fsfilcnt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.rsize_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sae_associd_t = uint
|
||||
rbx.platform.typedef.sae_connid_t = uint
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.syscall_arg_t = ulong_long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.user_addr_t = ulong_long
|
||||
rbx.platform.typedef.user_long_t = long_long
|
||||
rbx.platform.typedef.user_off_t = long_long
|
||||
rbx.platform.typedef.user_size_t = ulong_long
|
||||
rbx.platform.typedef.user_ssize_t = long_long
|
||||
rbx.platform.typedef.user_time_t = long_long
|
||||
rbx.platform.typedef.user_ulong_t = ulong_long
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = int
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long_long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,181 @@
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.___wchar_t = uint
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__char16_t = ushort
|
||||
rbx.platform.typedef.__char32_t = uint
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = long
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__daddr_t = long
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = long
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = long
|
||||
rbx.platform.typedef.__rman_res_t = ulong
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = long
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__u_register_t = ulong
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = ulong
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = ulong
|
||||
rbx.platform.typedef.__vm_paddr_t = ulong
|
||||
rbx.platform.typedef.__vm_size_t = ulong
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.cap_ioctl_t = ulong
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = long
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = int
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.kpaddr_t = ulong
|
||||
rbx.platform.typedef.ksize_t = ulong
|
||||
rbx.platform.typedef.kssize_t = long
|
||||
rbx.platform.typedef.kvaddr_t = ulong
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off64_t = long
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = long
|
||||
rbx.platform.typedef.rman_res_t = ulong
|
||||
rbx.platform.typedef.rsize_t = ulong
|
||||
rbx.platform.typedef.rune_t = int
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sbintime_t = long
|
||||
rbx.platform.typedef.segsz_t = long
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_register_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uint
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = ulong
|
||||
rbx.platform.typedef.vm_ooffset_t = ulong
|
||||
rbx.platform.typedef.vm_paddr_t = ulong
|
||||
rbx.platform.typedef.vm_pindex_t = ulong
|
||||
rbx.platform.typedef.vm_size_t = ulong
|
||||
rbx.platform.typedef.wchar_t = uint
|
||||
@@ -0,0 +1,175 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__kernel_caddr_t = string
|
||||
rbx.platform.typedef.__kernel_clock_t = long
|
||||
rbx.platform.typedef.__kernel_clockid_t = int
|
||||
rbx.platform.typedef.__kernel_daddr_t = int
|
||||
rbx.platform.typedef.__kernel_gid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_gid32_t = uint
|
||||
rbx.platform.typedef.__kernel_gid_t = uint
|
||||
rbx.platform.typedef.__kernel_ino_t = ulong
|
||||
rbx.platform.typedef.__kernel_ipc_pid_t = int
|
||||
rbx.platform.typedef.__kernel_key_t = int
|
||||
rbx.platform.typedef.__kernel_loff_t = long_long
|
||||
rbx.platform.typedef.__kernel_long_t = long
|
||||
rbx.platform.typedef.__kernel_mode_t = uint
|
||||
rbx.platform.typedef.__kernel_mqd_t = int
|
||||
rbx.platform.typedef.__kernel_off_t = long
|
||||
rbx.platform.typedef.__kernel_old_dev_t = uint
|
||||
rbx.platform.typedef.__kernel_old_gid_t = ushort
|
||||
rbx.platform.typedef.__kernel_old_time_t = long
|
||||
rbx.platform.typedef.__kernel_old_uid_t = ushort
|
||||
rbx.platform.typedef.__kernel_pid_t = int
|
||||
rbx.platform.typedef.__kernel_ptrdiff_t = long
|
||||
rbx.platform.typedef.__kernel_size_t = ulong
|
||||
rbx.platform.typedef.__kernel_ssize_t = long
|
||||
rbx.platform.typedef.__kernel_suseconds_t = long
|
||||
rbx.platform.typedef.__kernel_time64_t = long_long
|
||||
rbx.platform.typedef.__kernel_time_t = long
|
||||
rbx.platform.typedef.__kernel_timer_t = int
|
||||
rbx.platform.typedef.__kernel_uid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_uid32_t = uint
|
||||
rbx.platform.typedef.__kernel_uid_t = uint
|
||||
rbx.platform.typedef.__kernel_ulong_t = ulong
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds64_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__thrd_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__tss_t = uint
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = long
|
||||
rbx.platform.typedef.int_fast32_t = long
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ulong
|
||||
rbx.platform.typedef.uint_fast32_t = ulong
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = uint
|
||||
@@ -0,0 +1,134 @@
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long_long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long_long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = long_long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.sigset_t = uint
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,52 @@
|
||||
rbx.platform.typedef.__time32_t = long
|
||||
rbx.platform.typedef.__time64_t = long_long
|
||||
rbx.platform.typedef._dev_t = uint
|
||||
rbx.platform.typedef._ino_t = ushort
|
||||
rbx.platform.typedef._mode_t = ushort
|
||||
rbx.platform.typedef._off64_t = long_long
|
||||
rbx.platform.typedef._off_t = long
|
||||
rbx.platform.typedef._pid_t = long_long
|
||||
rbx.platform.typedef._sigset_t = ulong_long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.errno_t = int
|
||||
rbx.platform.typedef.ino_t = ushort
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = long_long
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.off32_t = long
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = long_long
|
||||
rbx.platform.typedef.ptrdiff_t = long_long
|
||||
rbx.platform.typedef.rsize_t = ulong_long
|
||||
rbx.platform.typedef.size_t = ulong_long
|
||||
rbx.platform.typedef.ssize_t = long_long
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = ulong_long
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.wchar_t = ushort
|
||||
rbx.platform.typedef.wctype_t = ushort
|
||||
rbx.platform.typedef.wint_t = ushort
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = uint
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpumask_t = uint
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = int
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__dev_t = uint
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long_long
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = int
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ushort
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = int
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = long_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = uint
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__u_register_t = uint
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = uint
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = uint
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = uint
|
||||
rbx.platform.typedef.__vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.__vm_paddr_t = uint
|
||||
rbx.platform.typedef.__vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.__vm_size_t = uint
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = uint
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpumask_t = uint
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long_long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = long_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_register_t = uint
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = uint
|
||||
rbx.platform.typedef.vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.vm_paddr_t = uint
|
||||
rbx.platform.typedef.vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.vm_size_t = uint
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = uint
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpumask_t = uint
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = int
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long_long
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = int
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ulong_long
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = int
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = long_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = uint
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__u_register_t = uint
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = uint
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = uint
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = uint
|
||||
rbx.platform.typedef.__vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.__vm_paddr_t = uint
|
||||
rbx.platform.typedef.__vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.__vm_size_t = uint
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = uint
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpumask_t = uint
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long_long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ulong_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = long_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_register_t = uint
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = uint
|
||||
rbx.platform.typedef.vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.vm_paddr_t = uint
|
||||
rbx.platform.typedef.vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.vm_size_t = uint
|
||||
@@ -0,0 +1,132 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = int
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = uint
|
||||
@@ -0,0 +1,178 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = int
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__kernel_caddr_t = string
|
||||
rbx.platform.typedef.__kernel_clock_t = long
|
||||
rbx.platform.typedef.__kernel_clockid_t = int
|
||||
rbx.platform.typedef.__kernel_daddr_t = int
|
||||
rbx.platform.typedef.__kernel_gid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_gid32_t = uint
|
||||
rbx.platform.typedef.__kernel_gid_t = uint
|
||||
rbx.platform.typedef.__kernel_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__kernel_ino_t = ulong
|
||||
rbx.platform.typedef.__kernel_ipc_pid_t = ushort
|
||||
rbx.platform.typedef.__kernel_key_t = int
|
||||
rbx.platform.typedef.__kernel_loff_t = long_long
|
||||
rbx.platform.typedef.__kernel_long_t = long
|
||||
rbx.platform.typedef.__kernel_mode_t = ushort
|
||||
rbx.platform.typedef.__kernel_mqd_t = int
|
||||
rbx.platform.typedef.__kernel_off64_t = long_long
|
||||
rbx.platform.typedef.__kernel_off_t = long
|
||||
rbx.platform.typedef.__kernel_old_dev_t = uint
|
||||
rbx.platform.typedef.__kernel_old_gid_t = uint
|
||||
rbx.platform.typedef.__kernel_old_time_t = long
|
||||
rbx.platform.typedef.__kernel_old_uid_t = uint
|
||||
rbx.platform.typedef.__kernel_pid_t = int
|
||||
rbx.platform.typedef.__kernel_ptrdiff_t = int
|
||||
rbx.platform.typedef.__kernel_size_t = uint
|
||||
rbx.platform.typedef.__kernel_ssize_t = int
|
||||
rbx.platform.typedef.__kernel_suseconds_t = long
|
||||
rbx.platform.typedef.__kernel_time64_t = long_long
|
||||
rbx.platform.typedef.__kernel_time_t = long
|
||||
rbx.platform.typedef.__kernel_timer_t = int
|
||||
rbx.platform.typedef.__kernel_uid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_uid32_t = uint
|
||||
rbx.platform.typedef.__kernel_uid_t = uint
|
||||
rbx.platform.typedef.__kernel_ulong_t = ulong
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds64_t = long_long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__thrd_t = ulong
|
||||
rbx.platform.typedef.__time64_t = long_long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__tss_t = uint
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = long
|
||||
@@ -0,0 +1,178 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = int
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__kernel_caddr_t = string
|
||||
rbx.platform.typedef.__kernel_clock_t = long
|
||||
rbx.platform.typedef.__kernel_clockid_t = int
|
||||
rbx.platform.typedef.__kernel_daddr_t = int
|
||||
rbx.platform.typedef.__kernel_gid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_gid32_t = uint
|
||||
rbx.platform.typedef.__kernel_gid_t = uint
|
||||
rbx.platform.typedef.__kernel_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__kernel_ino_t = ulong
|
||||
rbx.platform.typedef.__kernel_ipc_pid_t = ushort
|
||||
rbx.platform.typedef.__kernel_key_t = int
|
||||
rbx.platform.typedef.__kernel_loff_t = long_long
|
||||
rbx.platform.typedef.__kernel_long_t = long
|
||||
rbx.platform.typedef.__kernel_mode_t = ushort
|
||||
rbx.platform.typedef.__kernel_mqd_t = int
|
||||
rbx.platform.typedef.__kernel_off64_t = long_long
|
||||
rbx.platform.typedef.__kernel_off_t = long
|
||||
rbx.platform.typedef.__kernel_old_dev_t = uint
|
||||
rbx.platform.typedef.__kernel_old_gid_t = uint
|
||||
rbx.platform.typedef.__kernel_old_time_t = long
|
||||
rbx.platform.typedef.__kernel_old_uid_t = uint
|
||||
rbx.platform.typedef.__kernel_pid_t = int
|
||||
rbx.platform.typedef.__kernel_ptrdiff_t = int
|
||||
rbx.platform.typedef.__kernel_size_t = uint
|
||||
rbx.platform.typedef.__kernel_ssize_t = int
|
||||
rbx.platform.typedef.__kernel_suseconds_t = long
|
||||
rbx.platform.typedef.__kernel_time64_t = long_long
|
||||
rbx.platform.typedef.__kernel_time_t = long
|
||||
rbx.platform.typedef.__kernel_timer_t = int
|
||||
rbx.platform.typedef.__kernel_uid16_t = ushort
|
||||
rbx.platform.typedef.__kernel_uid32_t = uint
|
||||
rbx.platform.typedef.__kernel_uid_t = uint
|
||||
rbx.platform.typedef.__kernel_ulong_t = ulong
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds64_t = long_long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__thrd_t = ulong
|
||||
rbx.platform.typedef.__time64_t = long_long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__tss_t = uint
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = long
|
||||
@@ -0,0 +1,3 @@
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
@@ -0,0 +1,100 @@
|
||||
rbx.platform.typedef.__darwin_blkcnt_t = long_long
|
||||
rbx.platform.typedef.__darwin_blksize_t = int
|
||||
rbx.platform.typedef.__darwin_clock_t = ulong
|
||||
rbx.platform.typedef.__darwin_ct_rune_t = int
|
||||
rbx.platform.typedef.__darwin_dev_t = int
|
||||
rbx.platform.typedef.__darwin_fsblkcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_fsfilcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_gid_t = uint
|
||||
rbx.platform.typedef.__darwin_id_t = uint
|
||||
rbx.platform.typedef.__darwin_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_ino_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_intptr_t = long
|
||||
rbx.platform.typedef.__darwin_mach_port_name_t = uint
|
||||
rbx.platform.typedef.__darwin_mach_port_t = uint
|
||||
rbx.platform.typedef.__darwin_mode_t = ushort
|
||||
rbx.platform.typedef.__darwin_natural_t = uint
|
||||
rbx.platform.typedef.__darwin_off_t = long_long
|
||||
rbx.platform.typedef.__darwin_pid_t = int
|
||||
rbx.platform.typedef.__darwin_pthread_key_t = ulong
|
||||
rbx.platform.typedef.__darwin_ptrdiff_t = int
|
||||
rbx.platform.typedef.__darwin_rune_t = int
|
||||
rbx.platform.typedef.__darwin_sigset_t = uint
|
||||
rbx.platform.typedef.__darwin_size_t = ulong
|
||||
rbx.platform.typedef.__darwin_socklen_t = uint
|
||||
rbx.platform.typedef.__darwin_ssize_t = long
|
||||
rbx.platform.typedef.__darwin_suseconds_t = int
|
||||
rbx.platform.typedef.__darwin_time_t = long
|
||||
rbx.platform.typedef.__darwin_uid_t = uint
|
||||
rbx.platform.typedef.__darwin_useconds_t = uint
|
||||
rbx.platform.typedef.__darwin_uuid_t[16] = uchar
|
||||
rbx.platform.typedef.__darwin_wchar_t = int
|
||||
rbx.platform.typedef.__darwin_wint_t = int
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fd_mask = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = uint
|
||||
rbx.platform.typedef.fsfilcnt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.syscall_arg_t = ulong_long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.user_addr_t = ulong_long
|
||||
rbx.platform.typedef.user_long_t = long_long
|
||||
rbx.platform.typedef.user_size_t = ulong_long
|
||||
rbx.platform.typedef.user_ssize_t = long_long
|
||||
rbx.platform.typedef.user_time_t = long_long
|
||||
rbx.platform.typedef.user_ulong_t = ulong_long
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = uint
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpumask_t = uint
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = int
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__dev_t = uint
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long_long
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = int
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ushort
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = int
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = long_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = uint
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__u_register_t = uint
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = uint
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = uint
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = uint
|
||||
rbx.platform.typedef.__vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.__vm_paddr_t = uint
|
||||
rbx.platform.typedef.__vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.__vm_size_t = uint
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = uint
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpumask_t = uint
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long_long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = long_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_register_t = uint
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = uint
|
||||
rbx.platform.typedef.vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.vm_paddr_t = uint
|
||||
rbx.platform.typedef.vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.vm_size_t = uint
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = uint
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpumask_t = uint
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = int
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long_long
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = int
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ulong_long
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = int
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = long_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = uint
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__u_register_t = uint
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = uint
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = uint
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = uint
|
||||
rbx.platform.typedef.__vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.__vm_paddr_t = uint
|
||||
rbx.platform.typedef.__vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.__vm_size_t = uint
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = uint
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpumask_t = uint
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long_long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ulong_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = long_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_register_t = uint
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = uint
|
||||
rbx.platform.typedef.vm_ooffset_t = long_long
|
||||
rbx.platform.typedef.vm_paddr_t = uint
|
||||
rbx.platform.typedef.vm_pindex_t = ulong_long
|
||||
rbx.platform.typedef.vm_size_t = uint
|
||||
@@ -0,0 +1,107 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = uint
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsid_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__pthread_key = int
|
||||
rbx.platform.typedef.__pthread_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__sigset_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsid_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.pthread_t = int
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sigset_t = ulong
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,103 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,126 @@
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = int
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = int
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = int
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = int
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,122 @@
|
||||
rbx.platform.typedef.*caddr_t = char
|
||||
rbx.platform.typedef.blkcnt64_t = long_long
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cnt_t = short
|
||||
rbx.platform.typedef.cpu_flag_t = ushort
|
||||
rbx.platform.typedef.ctid_t = long
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.datalink_id_t = uint
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.diskaddr_t = ulong_long
|
||||
rbx.platform.typedef.disp_lock_t = uchar
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fds_mask = long
|
||||
rbx.platform.typedef.fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.hrtime_t = long_long
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.index_t = short
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.ipaddr_t = uint
|
||||
rbx.platform.typedef.k_fltset_t = uint
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.len_t = ulong_long
|
||||
rbx.platform.typedef.lgrp_id_t = long
|
||||
rbx.platform.typedef.lock_t = uchar
|
||||
rbx.platform.typedef.longlong_t = long_long
|
||||
rbx.platform.typedef.major_t = ulong
|
||||
rbx.platform.typedef.minor_t = ulong
|
||||
rbx.platform.typedef.mode_t = ulong
|
||||
rbx.platform.typedef.model_t = uint
|
||||
rbx.platform.typedef.nfds_t = ulong
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.o_dev_t = short
|
||||
rbx.platform.typedef.o_gid_t = ushort
|
||||
rbx.platform.typedef.o_ino_t = ushort
|
||||
rbx.platform.typedef.o_mode_t = ushort
|
||||
rbx.platform.typedef.o_nlink_t = short
|
||||
rbx.platform.typedef.o_pid_t = short
|
||||
rbx.platform.typedef.o_uid_t = ushort
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.offset_t = long_long
|
||||
rbx.platform.typedef.pad64_t = long_long
|
||||
rbx.platform.typedef.pfn_t = ulong
|
||||
rbx.platform.typedef.pgcnt_t = ulong
|
||||
rbx.platform.typedef.pid_t = long
|
||||
rbx.platform.typedef.poolid_t = long
|
||||
rbx.platform.typedef.pri_t = short
|
||||
rbx.platform.typedef.projid_t = long
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_t = uint
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.rlim64_t = ulong_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.spgcnt_t = long
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.sysid_t = short
|
||||
rbx.platform.typedef.t_scalar_t = long
|
||||
rbx.platform.typedef.t_uscalar_t = ulong
|
||||
rbx.platform.typedef.taskid_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_longlong_t = ulong_long
|
||||
rbx.platform.typedef.u_offset_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar_t = uchar
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uint_t = uint
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ulong_t = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.upad64_t = ulong_long
|
||||
rbx.platform.typedef.use_t = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.ushort_t = ushort
|
||||
rbx.platform.typedef.zoneid_t = long
|
||||
@@ -0,0 +1,52 @@
|
||||
rbx.platform.typedef.__time32_t = long
|
||||
rbx.platform.typedef.__time64_t = long_long
|
||||
rbx.platform.typedef._dev_t = uint
|
||||
rbx.platform.typedef._ino_t = ushort
|
||||
rbx.platform.typedef._mode_t = ushort
|
||||
rbx.platform.typedef._off64_t = long_long
|
||||
rbx.platform.typedef._off_t = long
|
||||
rbx.platform.typedef._pid_t = int
|
||||
rbx.platform.typedef._sigset_t = ulong
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.errno_t = int
|
||||
rbx.platform.typedef.ino_t = ushort
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.off32_t = long
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.rsize_t = uint
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.wchar_t = ushort
|
||||
rbx.platform.typedef.wctype_t = ushort
|
||||
rbx.platform.typedef.wint_t = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,141 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = long
|
||||
rbx.platform.typedef.int_fast32_t = long
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ulong
|
||||
rbx.platform.typedef.uint_fast32_t = ulong
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,180 @@
|
||||
rbx.platform.typedef.UTF32Char = uint
|
||||
rbx.platform.typedef.UniChar = ushort
|
||||
rbx.platform.typedef.__cptr32 = string
|
||||
rbx.platform.typedef.__cptr64 = ulong_long
|
||||
rbx.platform.typedef.__long32_t = long
|
||||
rbx.platform.typedef.__long64_t = int
|
||||
rbx.platform.typedef.__ptr32 = pointer
|
||||
rbx.platform.typedef.__ptr64 = ulong_long
|
||||
rbx.platform.typedef.__ulong32_t = ulong
|
||||
rbx.platform.typedef.__ulong64_t = uint
|
||||
rbx.platform.typedef.aptx_t = ushort
|
||||
rbx.platform.typedef.blkcnt32_t = int
|
||||
rbx.platform.typedef.blkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.blkcnt_t = int
|
||||
rbx.platform.typedef.blksize32_t = int
|
||||
rbx.platform.typedef.blksize64_t = ulong_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.boolean_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.chan_t = int
|
||||
rbx.platform.typedef.class_id_t = uint
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = long_long
|
||||
rbx.platform.typedef.cnt64_t = long_long
|
||||
rbx.platform.typedef.cnt_t = short
|
||||
rbx.platform.typedef.crid_t = int
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev32_t = uint
|
||||
rbx.platform.typedef.dev64_t = ulong_long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.esid_t = uint
|
||||
rbx.platform.typedef.ext_t = int
|
||||
rbx.platform.typedef.fpos64_t = long_long
|
||||
rbx.platform.typedef.fpos_t = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino32_t = uint
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16 = short
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32 = int
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int32long64_t = int
|
||||
rbx.platform.typedef.int64 = long_long
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8 = char
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intfast_t = int
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.krpn_t = int
|
||||
rbx.platform.typedef.kvmhandle_t = ulong
|
||||
rbx.platform.typedef.kvmid_t = long
|
||||
rbx.platform.typedef.kvpn_t = int
|
||||
rbx.platform.typedef.level_t = int
|
||||
rbx.platform.typedef.liobn_t = uint
|
||||
rbx.platform.typedef.long32int64_t = long
|
||||
rbx.platform.typedef.longlong_t = long_long
|
||||
rbx.platform.typedef.mid_t = pointer
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.mtyp_t = long
|
||||
rbx.platform.typedef.nlink_t = short
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.offset_t = long_long
|
||||
rbx.platform.typedef.paddr_t = long
|
||||
rbx.platform.typedef.pdtx_t = int
|
||||
rbx.platform.typedef.pid32_t = int
|
||||
rbx.platform.typedef.pid64_t = ulong_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pshift_t = ushort
|
||||
rbx.platform.typedef.psize_t = long_long
|
||||
rbx.platform.typedef.psx_t = short
|
||||
rbx.platform.typedef.ptex_t = ulong
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_t = uint
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.rlim64_t = ulong_long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.rpn64_t = long_long
|
||||
rbx.platform.typedef.rpn_t = int
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.signal_t = int
|
||||
rbx.platform.typedef.size64_t = ulong_long
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.slab_t[12] = char
|
||||
rbx.platform.typedef.snidx_t = int
|
||||
rbx.platform.typedef.socklen_t = ulong
|
||||
rbx.platform.typedef.soff_t = int
|
||||
rbx.platform.typedef.sshift_t = ushort
|
||||
rbx.platform.typedef.ssize64_t = long_long
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.swhatx_t = ulong
|
||||
rbx.platform.typedef.tid32_t = int
|
||||
rbx.platform.typedef.tid64_t = ulong_long
|
||||
rbx.platform.typedef.tid_t = int
|
||||
rbx.platform.typedef.time32_t = int
|
||||
rbx.platform.typedef.time64_t = long_long
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.timer32_t = int
|
||||
rbx.platform.typedef.timer64_t = long_long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16 = ushort
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32 = uint
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64 = ulong_long
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8 = uchar
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_longlong_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar = uchar
|
||||
rbx.platform.typedef.uchar_t = uchar
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint32long64_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uint_t = uint
|
||||
rbx.platform.typedef.uintfast_t = uint
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ulong32int64_t = ulong
|
||||
rbx.platform.typedef.ulong_t = ulong
|
||||
rbx.platform.typedef.unidx_t = int
|
||||
rbx.platform.typedef.unit_addr_t = ulong_long
|
||||
rbx.platform.typedef.ureg_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.ushort_t = ushort
|
||||
rbx.platform.typedef.va_list = string
|
||||
rbx.platform.typedef.vmfkey_t = uint
|
||||
rbx.platform.typedef.vmhandle32_t = uint
|
||||
rbx.platform.typedef.vmhandle_t = ulong
|
||||
rbx.platform.typedef.vmhwkey_t = int
|
||||
rbx.platform.typedef.vmid32_t = int
|
||||
rbx.platform.typedef.vmid64_t = long_long
|
||||
rbx.platform.typedef.vmid_t = long
|
||||
rbx.platform.typedef.vmidx_t = int
|
||||
rbx.platform.typedef.vmkey_t = int
|
||||
rbx.platform.typedef.vmlpghandle_t = ulong
|
||||
rbx.platform.typedef.vmm_lock_t = int
|
||||
rbx.platform.typedef.vmnodeidx_t = int
|
||||
rbx.platform.typedef.vmprkey_t = uint
|
||||
rbx.platform.typedef.vmsize_t = int
|
||||
rbx.platform.typedef.vpn_t = int
|
||||
rbx.platform.typedef.wchar_t = ushort
|
||||
rbx.platform.typedef.wctype_t = uint
|
||||
rbx.platform.typedef.wint_t = int
|
||||
@@ -0,0 +1,100 @@
|
||||
rbx.platform.typedef.__darwin_blkcnt_t = long_long
|
||||
rbx.platform.typedef.__darwin_blksize_t = int
|
||||
rbx.platform.typedef.__darwin_clock_t = ulong
|
||||
rbx.platform.typedef.__darwin_ct_rune_t = int
|
||||
rbx.platform.typedef.__darwin_dev_t = int
|
||||
rbx.platform.typedef.__darwin_fsblkcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_fsfilcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_gid_t = uint
|
||||
rbx.platform.typedef.__darwin_id_t = uint
|
||||
rbx.platform.typedef.__darwin_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_ino_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_intptr_t = long
|
||||
rbx.platform.typedef.__darwin_mach_port_name_t = uint
|
||||
rbx.platform.typedef.__darwin_mach_port_t = uint
|
||||
rbx.platform.typedef.__darwin_mode_t = ushort
|
||||
rbx.platform.typedef.__darwin_natural_t = uint
|
||||
rbx.platform.typedef.__darwin_off_t = long_long
|
||||
rbx.platform.typedef.__darwin_pid_t = int
|
||||
rbx.platform.typedef.__darwin_pthread_key_t = ulong
|
||||
rbx.platform.typedef.__darwin_ptrdiff_t = int
|
||||
rbx.platform.typedef.__darwin_rune_t = int
|
||||
rbx.platform.typedef.__darwin_sigset_t = uint
|
||||
rbx.platform.typedef.__darwin_size_t = ulong
|
||||
rbx.platform.typedef.__darwin_socklen_t = uint
|
||||
rbx.platform.typedef.__darwin_ssize_t = long
|
||||
rbx.platform.typedef.__darwin_suseconds_t = int
|
||||
rbx.platform.typedef.__darwin_time_t = long
|
||||
rbx.platform.typedef.__darwin_uid_t = uint
|
||||
rbx.platform.typedef.__darwin_useconds_t = uint
|
||||
rbx.platform.typedef.__darwin_uuid_t[16] = uchar
|
||||
rbx.platform.typedef.__darwin_wchar_t = int
|
||||
rbx.platform.typedef.__darwin_wint_t = int
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fd_mask = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = uint
|
||||
rbx.platform.typedef.fsfilcnt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.syscall_arg_t = ulong_long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.user_addr_t = ulong_long
|
||||
rbx.platform.typedef.user_long_t = long_long
|
||||
rbx.platform.typedef.user_size_t = ulong_long
|
||||
rbx.platform.typedef.user_ssize_t = long_long
|
||||
rbx.platform.typedef.user_time_t = long_long
|
||||
rbx.platform.typedef.user_ulong_t = ulong_long
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,130 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = int
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = long
|
||||
@@ -0,0 +1,156 @@
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long_long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long_long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = long_long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = int
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.sigset_t = uint
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uint
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
rbx.platform.typedef.wint_t = int
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,100 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,104 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long_long
|
||||
rbx.platform.typedef.__blkcnt64_t = long_long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong_long
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong_long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = int
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long_long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long_long
|
||||
rbx.platform.typedef.__rlim64_t = ulong_long
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = int
|
||||
rbx.platform.typedef.__suseconds_t = int
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong_long
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong_long
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.() = pointer
|
||||
rbx.platform.typedef.*caddr_t = char
|
||||
rbx.platform.typedef.Psocklen_t = pointer
|
||||
rbx.platform.typedef.avl_index_t = uint
|
||||
rbx.platform.typedef.blkcnt64_t = long_long
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cnt_t = short
|
||||
rbx.platform.typedef.cpu_flag_t = ushort
|
||||
rbx.platform.typedef.ctid_t = long
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.diskaddr_t = ulong_long
|
||||
rbx.platform.typedef.disp_lock_t = uchar
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fds_mask = long
|
||||
rbx.platform.typedef.fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = long
|
||||
rbx.platform.typedef.hrtime_t = long_long
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.index_t = short
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int) = pointer
|
||||
rbx.platform.typedef.int) = pointer
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.ipaddr_t = uint
|
||||
rbx.platform.typedef.k_fltset_t = uint
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.kid_t = int
|
||||
rbx.platform.typedef.len_t = ulong_long
|
||||
rbx.platform.typedef.lock_t = uchar
|
||||
rbx.platform.typedef.longlong_t = long_long
|
||||
rbx.platform.typedef.major_t = ulong
|
||||
rbx.platform.typedef.minor_t = ulong
|
||||
rbx.platform.typedef.mode_t = ulong
|
||||
rbx.platform.typedef.model_t = uint
|
||||
rbx.platform.typedef.nfds_t = ulong
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.o_dev_t = short
|
||||
rbx.platform.typedef.o_gid_t = ushort
|
||||
rbx.platform.typedef.o_ino_t = ushort
|
||||
rbx.platform.typedef.o_mode_t = ushort
|
||||
rbx.platform.typedef.o_nlink_t = short
|
||||
rbx.platform.typedef.o_pid_t = short
|
||||
rbx.platform.typedef.o_uid_t = ushort
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.offset_t = long_long
|
||||
rbx.platform.typedef.pad64_t = long_long
|
||||
rbx.platform.typedef.pfn_t = ulong
|
||||
rbx.platform.typedef.pgcnt_t = ulong
|
||||
rbx.platform.typedef.pid_t = long
|
||||
rbx.platform.typedef.poolid_t = long
|
||||
rbx.platform.typedef.pri_t = short
|
||||
rbx.platform.typedef.projid_t = long
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_t = uint
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.rlim64_t = ulong_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.size_t) = pointer
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.spgcnt_t = long
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.sysid_t = short
|
||||
rbx.platform.typedef.t_scalar_t = long
|
||||
rbx.platform.typedef.t_uscalar_t = ulong
|
||||
rbx.platform.typedef.taskid_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.ts_t = long_long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_longlong_t = ulong_long
|
||||
rbx.platform.typedef.u_offset_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar_t = uchar
|
||||
rbx.platform.typedef.uid_t = long
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uint_t = uint
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ulong_t = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.upad64_t = ulong_long
|
||||
rbx.platform.typedef.use_t = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.ushort_t = ushort
|
||||
rbx.platform.typedef.zoneid_t = long
|
||||
@@ -0,0 +1,102 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.*__qaddr_t = long
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = int
|
||||
rbx.platform.typedef.__swblk_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
@@ -0,0 +1,156 @@
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long_long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long_long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = long_long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = int
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.sigset_t = uint
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uint
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
rbx.platform.typedef.wint_t = int
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.() = pointer
|
||||
rbx.platform.typedef.*caddr_t = char
|
||||
rbx.platform.typedef.Psocklen_t = pointer
|
||||
rbx.platform.typedef.avl_index_t = uint
|
||||
rbx.platform.typedef.blkcnt64_t = long_long
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cnt_t = short
|
||||
rbx.platform.typedef.cpu_flag_t = ushort
|
||||
rbx.platform.typedef.ctid_t = long
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.diskaddr_t = ulong_long
|
||||
rbx.platform.typedef.disp_lock_t = uchar
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fds_mask = long
|
||||
rbx.platform.typedef.fsblkcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt64_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = long
|
||||
rbx.platform.typedef.hrtime_t = long_long
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.index_t = short
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int) = pointer
|
||||
rbx.platform.typedef.int) = pointer
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = int
|
||||
rbx.platform.typedef.ipaddr_t = uint
|
||||
rbx.platform.typedef.k_fltset_t = uint
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.kid_t = int
|
||||
rbx.platform.typedef.len_t = ulong_long
|
||||
rbx.platform.typedef.lock_t = uchar
|
||||
rbx.platform.typedef.longlong_t = long_long
|
||||
rbx.platform.typedef.major_t = ulong
|
||||
rbx.platform.typedef.minor_t = ulong
|
||||
rbx.platform.typedef.mode_t = ulong
|
||||
rbx.platform.typedef.model_t = uint
|
||||
rbx.platform.typedef.nfds_t = ulong
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.o_dev_t = short
|
||||
rbx.platform.typedef.o_gid_t = ushort
|
||||
rbx.platform.typedef.o_ino_t = ushort
|
||||
rbx.platform.typedef.o_mode_t = ushort
|
||||
rbx.platform.typedef.o_nlink_t = short
|
||||
rbx.platform.typedef.o_pid_t = short
|
||||
rbx.platform.typedef.o_uid_t = ushort
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.offset_t = long_long
|
||||
rbx.platform.typedef.pad64_t = long_long
|
||||
rbx.platform.typedef.pfn_t = ulong
|
||||
rbx.platform.typedef.pgcnt_t = ulong
|
||||
rbx.platform.typedef.pid_t = long
|
||||
rbx.platform.typedef.poolid_t = long
|
||||
rbx.platform.typedef.pri_t = short
|
||||
rbx.platform.typedef.projid_t = long
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_t = uint
|
||||
rbx.platform.typedef.ptrdiff_t = int
|
||||
rbx.platform.typedef.rlim64_t = ulong_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = uint
|
||||
rbx.platform.typedef.size_t) = pointer
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.spgcnt_t = long
|
||||
rbx.platform.typedef.ssize_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.sysid_t = short
|
||||
rbx.platform.typedef.t_scalar_t = long
|
||||
rbx.platform.typedef.t_uscalar_t = ulong
|
||||
rbx.platform.typedef.taskid_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.ts_t = long_long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_longlong_t = ulong_long
|
||||
rbx.platform.typedef.u_offset_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar_t = uchar
|
||||
rbx.platform.typedef.uid_t = long
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uint_t = uint
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = uint
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ulong_t = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.upad64_t = ulong_long
|
||||
rbx.platform.typedef.use_t = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.ushort_t = ushort
|
||||
rbx.platform.typedef.zoneid_t = long
|
||||
@@ -0,0 +1,141 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = long
|
||||
rbx.platform.typedef.int_fast32_t = long
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ulong
|
||||
rbx.platform.typedef.uint_fast32_t = ulong
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,3 @@
|
||||
rbx.platform.typedef.ptrdiff_t = int64
|
||||
rbx.platform.typedef.size_t = uint64
|
||||
rbx.platform.typedef.ssize_t = int64
|
||||
@@ -0,0 +1,130 @@
|
||||
rbx.platform.typedef.__darwin_blkcnt_t = long_long
|
||||
rbx.platform.typedef.__darwin_blksize_t = int
|
||||
rbx.platform.typedef.__darwin_clock_t = ulong
|
||||
rbx.platform.typedef.__darwin_ct_rune_t = int
|
||||
rbx.platform.typedef.__darwin_dev_t = int
|
||||
rbx.platform.typedef.__darwin_fsblkcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_fsfilcnt_t = uint
|
||||
rbx.platform.typedef.__darwin_gid_t = uint
|
||||
rbx.platform.typedef.__darwin_id_t = uint
|
||||
rbx.platform.typedef.__darwin_ino64_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_ino_t = ulong_long
|
||||
rbx.platform.typedef.__darwin_intptr_t = long
|
||||
rbx.platform.typedef.__darwin_mach_port_name_t = uint
|
||||
rbx.platform.typedef.__darwin_mach_port_t = uint
|
||||
rbx.platform.typedef.__darwin_mode_t = ushort
|
||||
rbx.platform.typedef.__darwin_natural_t = uint
|
||||
rbx.platform.typedef.__darwin_off_t = long_long
|
||||
rbx.platform.typedef.__darwin_pid_t = int
|
||||
rbx.platform.typedef.__darwin_pthread_key_t = ulong
|
||||
rbx.platform.typedef.__darwin_ptrdiff_t = long
|
||||
rbx.platform.typedef.__darwin_rune_t = int
|
||||
rbx.platform.typedef.__darwin_sigset_t = uint
|
||||
rbx.platform.typedef.__darwin_size_t = ulong
|
||||
rbx.platform.typedef.__darwin_socklen_t = uint
|
||||
rbx.platform.typedef.__darwin_ssize_t = long
|
||||
rbx.platform.typedef.__darwin_suseconds_t = int
|
||||
rbx.platform.typedef.__darwin_time_t = long
|
||||
rbx.platform.typedef.__darwin_uid_t = uint
|
||||
rbx.platform.typedef.__darwin_useconds_t = uint
|
||||
rbx.platform.typedef.__darwin_uuid_string_t[37] = char
|
||||
rbx.platform.typedef.__darwin_uuid_t[16] = uchar
|
||||
rbx.platform.typedef.__darwin_wchar_t = int
|
||||
rbx.platform.typedef.__darwin_wint_t = int
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.errno_t = int
|
||||
rbx.platform.typedef.fd_mask = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = uint
|
||||
rbx.platform.typedef.fsfilcnt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino64_t = ulong_long
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.rsize_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sae_associd_t = uint
|
||||
rbx.platform.typedef.sae_connid_t = uint
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.syscall_arg_t = ulong_long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.user_addr_t = ulong_long
|
||||
rbx.platform.typedef.user_long_t = long_long
|
||||
rbx.platform.typedef.user_off_t = long_long
|
||||
rbx.platform.typedef.user_size_t = ulong_long
|
||||
rbx.platform.typedef.user_ssize_t = long_long
|
||||
rbx.platform.typedef.user_time_t = long_long
|
||||
rbx.platform.typedef.user_ulong_t = ulong_long
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,130 @@
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.___wchar_t = int
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intlp_t = long
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = long
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintlp_t = ulong
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = ulong
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = int
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = long
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_daddr_t = uint
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uint
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.v_caddr_t = pointer
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = int
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long_long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long_long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,158 @@
|
||||
rbx.platform.typedef.*) = pointer
|
||||
rbx.platform.typedef.___wchar_t = int
|
||||
rbx.platform.typedef.__accmode_t = int
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__char16_t = ushort
|
||||
rbx.platform.typedef.__char32_t = uint
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpulevel_t = int
|
||||
rbx.platform.typedef.__cpusetid_t = int
|
||||
rbx.platform.typedef.__cpuwhich_t = int
|
||||
rbx.platform.typedef.__critical_t = long
|
||||
rbx.platform.typedef.__ct_rune_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = ulong
|
||||
rbx.platform.typedef.__fflags_t = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = long
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intfptr_t = long
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__lwpid_t = int
|
||||
rbx.platform.typedef.__mode_t = ushort
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = long
|
||||
rbx.platform.typedef.__rman_res_t = ulong
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = long
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__u_register_t = ulong
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintfptr_t = ulong
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vm_offset_t = ulong
|
||||
rbx.platform.typedef.__vm_paddr_t = ulong
|
||||
rbx.platform.typedef.__vm_size_t = ulong
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.accmode_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.c_caddr_t = pointer
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.cap_ioctl_t = ulong
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpulevel_t = int
|
||||
rbx.platform.typedef.cpusetid_t = int
|
||||
rbx.platform.typedef.cpuwhich_t = int
|
||||
rbx.platform.typedef.critical_t = long
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fflags_t = uint
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = long
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.ksize_t = ulong
|
||||
rbx.platform.typedef.kvaddr_t = ulong
|
||||
rbx.platform.typedef.lwpid_t = int
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off64_t = long
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = long
|
||||
rbx.platform.typedef.rman_res_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sbintime_t = long
|
||||
rbx.platform.typedef.segsz_t = long
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_register_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = ulong
|
||||
rbx.platform.typedef.vm_ooffset_t = long
|
||||
rbx.platform.typedef.vm_paddr_t = ulong
|
||||
rbx.platform.typedef.vm_pindex_t = ulong
|
||||
rbx.platform.typedef.vm_size_t = ulong
|
||||
@@ -0,0 +1,117 @@
|
||||
rbx.platform.typedef.__haiku_addr_t = ulong
|
||||
rbx.platform.typedef.__haiku_generic_addr_t = ulong
|
||||
rbx.platform.typedef.__haiku_int16 = short
|
||||
rbx.platform.typedef.__haiku_int32 = int
|
||||
rbx.platform.typedef.__haiku_int64 = long
|
||||
rbx.platform.typedef.__haiku_int8 = char
|
||||
rbx.platform.typedef.__haiku_phys_addr_t = ulong
|
||||
rbx.platform.typedef.__haiku_phys_saddr_t = long
|
||||
rbx.platform.typedef.__haiku_saddr_t = long
|
||||
rbx.platform.typedef.__haiku_std_int16 = short
|
||||
rbx.platform.typedef.__haiku_std_int32 = int
|
||||
rbx.platform.typedef.__haiku_std_int64 = long
|
||||
rbx.platform.typedef.__haiku_std_int8 = char
|
||||
rbx.platform.typedef.__haiku_std_uint16 = ushort
|
||||
rbx.platform.typedef.__haiku_std_uint32 = uint
|
||||
rbx.platform.typedef.__haiku_std_uint64 = ulong
|
||||
rbx.platform.typedef.__haiku_std_uint8 = uchar
|
||||
rbx.platform.typedef.__haiku_uint16 = ushort
|
||||
rbx.platform.typedef.__haiku_uint32 = uint
|
||||
rbx.platform.typedef.__haiku_uint64 = ulong
|
||||
rbx.platform.typedef.__haiku_uint8 = uchar
|
||||
rbx.platform.typedef.addr_t = ulong
|
||||
rbx.platform.typedef.bigtime_t = long
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = pointer
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cnt_t = int
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fd_mask = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = long
|
||||
rbx.platform.typedef.fsfilcnt_t = long
|
||||
rbx.platform.typedef.generic_addr_t = ulong
|
||||
rbx.platform.typedef.generic_size_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = int
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = long
|
||||
rbx.platform.typedef.int16 = short
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32 = int
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64 = long
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8 = char
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = int
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nanotime_t = long
|
||||
rbx.platform.typedef.nlink_t = int
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.perform_code = uint
|
||||
rbx.platform.typedef.phys_addr_t = ulong
|
||||
rbx.platform.typedef.phys_size_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = int
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.sig_atomic_t = int
|
||||
rbx.platform.typedef.sigset_t = ulong
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.status_t = int
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.type_code = uint
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar = uchar
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16 = ushort
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32 = uint
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64 = ulong
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8 = uchar
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uint
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.umode_t = uint
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.unichar = ushort
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.void*) = pointer
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,132 @@
|
||||
rbx.platform.typedef.*__caddr_t = char
|
||||
rbx.platform.typedef.__blkcnt64_t = long
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = long
|
||||
rbx.platform.typedef.__clock_t = long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__daddr_t = int
|
||||
rbx.platform.typedef.__dev_t = ulong
|
||||
rbx.platform.typedef.__fd_mask = long
|
||||
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__fsword_t = long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino64_t = ulong
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = int
|
||||
rbx.platform.typedef.__loff_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = ulong
|
||||
rbx.platform.typedef.__off64_t = long
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__priority_which_t = int
|
||||
rbx.platform.typedef.__quad_t = long
|
||||
rbx.platform.typedef.__rlim64_t = ulong
|
||||
rbx.platform.typedef.__rlim_t = ulong
|
||||
rbx.platform.typedef.__rlimit_resource_t = int
|
||||
rbx.platform.typedef.__rusage_who_t = int
|
||||
rbx.platform.typedef.__sig_atomic_t = int
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__syscall_slong_t = long
|
||||
rbx.platform.typedef.__syscall_ulong_t = ulong
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = pointer
|
||||
rbx.platform.typedef.__u_char = uchar
|
||||
rbx.platform.typedef.__u_int = uint
|
||||
rbx.platform.typedef.__u_long = ulong
|
||||
rbx.platform.typedef.__u_quad_t = ulong
|
||||
rbx.platform.typedef.__u_short = ushort
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = long
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = long
|
||||
rbx.platform.typedef.int_fast32_t = long
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.loff_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ulong
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_once_t = int
|
||||
rbx.platform.typedef.pthread_t = ulong
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.quad_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = pointer
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ulong
|
||||
rbx.platform.typedef.uint_fast32_t = ulong
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.wchar_t = int
|
||||
@@ -0,0 +1,119 @@
|
||||
rbx.platform.typedef.*addr_t = char
|
||||
rbx.platform.typedef.__ULong = uint
|
||||
rbx.platform.typedef.__blkcnt_t = long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = ulong
|
||||
rbx.platform.typedef.__clockid_t = ulong
|
||||
rbx.platform.typedef.__cpu_mask = ulong
|
||||
rbx.platform.typedef.__dev_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__ino_t = ulong
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long_long
|
||||
rbx.platform.typedef.__loff_t = long_long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nl_item = int
|
||||
rbx.platform.typedef.__nlink_t = ushort
|
||||
rbx.platform.typedef.__off_t = long
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__sigset_t = ulong
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = int
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__time_t = long
|
||||
rbx.platform.typedef.__timer_t = ulong
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = ulong
|
||||
rbx.platform.typedef._fpos64_t = long_long
|
||||
rbx.platform.typedef._fpos_t = long
|
||||
rbx.platform.typedef._off64_t = long_long
|
||||
rbx.platform.typedef._off_t = long
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = ulong
|
||||
rbx.platform.typedef.clockid_t = ulong
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.fd_mask = ulong
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = long
|
||||
rbx.platform.typedef.int_fast32_t = long
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long_long
|
||||
rbx.platform.typedef.loff_t = long_long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = ushort
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sbintime_t = long
|
||||
rbx.platform.typedef.sig_atomic_t = int
|
||||
rbx.platform.typedef.sigset_t = ulong
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = int
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = ulong
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_register_t = ulong
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ulong
|
||||
rbx.platform.typedef.uint_fast32_t = ulong
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.useconds_t = ulong
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vm_offset_t = ulong
|
||||
rbx.platform.typedef.vm_size_t = ulong
|
||||
rbx.platform.typedef.wint_t = uint
|
||||
@@ -0,0 +1,128 @@
|
||||
rbx.platform.typedef.__clock_t = int
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = int
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = uint
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = int
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = int
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = int
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = int
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr64_t = long_long
|
||||
rbx.platform.typedef.daddr_t = int
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = uint
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = int
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = int
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = int
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,134 @@
|
||||
rbx.platform.typedef.__blkcnt_t = long_long
|
||||
rbx.platform.typedef.__blksize_t = int
|
||||
rbx.platform.typedef.__clock_t = long_long
|
||||
rbx.platform.typedef.__clockid_t = int
|
||||
rbx.platform.typedef.__cpuid_t = ulong
|
||||
rbx.platform.typedef.__dev_t = int
|
||||
rbx.platform.typedef.__fd_mask = uint
|
||||
rbx.platform.typedef.__fixpt_t = uint
|
||||
rbx.platform.typedef.__fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.__fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.__gid_t = uint
|
||||
rbx.platform.typedef.__id_t = uint
|
||||
rbx.platform.typedef.__in_addr_t = uint
|
||||
rbx.platform.typedef.__in_port_t = ushort
|
||||
rbx.platform.typedef.__ino_t = ulong_long
|
||||
rbx.platform.typedef.__int16_t = short
|
||||
rbx.platform.typedef.__int32_t = int
|
||||
rbx.platform.typedef.__int64_t = long_long
|
||||
rbx.platform.typedef.__int8_t = char
|
||||
rbx.platform.typedef.__int_fast16_t = int
|
||||
rbx.platform.typedef.__int_fast32_t = int
|
||||
rbx.platform.typedef.__int_fast64_t = long_long
|
||||
rbx.platform.typedef.__int_fast8_t = int
|
||||
rbx.platform.typedef.__int_least16_t = short
|
||||
rbx.platform.typedef.__int_least32_t = int
|
||||
rbx.platform.typedef.__int_least64_t = long_long
|
||||
rbx.platform.typedef.__int_least8_t = char
|
||||
rbx.platform.typedef.__intmax_t = long_long
|
||||
rbx.platform.typedef.__intptr_t = long
|
||||
rbx.platform.typedef.__key_t = long
|
||||
rbx.platform.typedef.__mode_t = uint
|
||||
rbx.platform.typedef.__nlink_t = uint
|
||||
rbx.platform.typedef.__off_t = long_long
|
||||
rbx.platform.typedef.__paddr_t = ulong
|
||||
rbx.platform.typedef.__pid_t = int
|
||||
rbx.platform.typedef.__psize_t = ulong
|
||||
rbx.platform.typedef.__ptrdiff_t = long
|
||||
rbx.platform.typedef.__register_t = long
|
||||
rbx.platform.typedef.__rlim_t = ulong_long
|
||||
rbx.platform.typedef.__rune_t = int
|
||||
rbx.platform.typedef.__sa_family_t = uchar
|
||||
rbx.platform.typedef.__segsz_t = int
|
||||
rbx.platform.typedef.__size_t = ulong
|
||||
rbx.platform.typedef.__socklen_t = uint
|
||||
rbx.platform.typedef.__ssize_t = long
|
||||
rbx.platform.typedef.__suseconds_t = long
|
||||
rbx.platform.typedef.__swblk_t = int
|
||||
rbx.platform.typedef.__time_t = long_long
|
||||
rbx.platform.typedef.__timer_t = int
|
||||
rbx.platform.typedef.__uid_t = uint
|
||||
rbx.platform.typedef.__uint16_t = ushort
|
||||
rbx.platform.typedef.__uint32_t = uint
|
||||
rbx.platform.typedef.__uint64_t = ulong_long
|
||||
rbx.platform.typedef.__uint8_t = uchar
|
||||
rbx.platform.typedef.__uint_fast16_t = uint
|
||||
rbx.platform.typedef.__uint_fast32_t = uint
|
||||
rbx.platform.typedef.__uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_fast8_t = uint
|
||||
rbx.platform.typedef.__uint_least16_t = ushort
|
||||
rbx.platform.typedef.__uint_least32_t = uint
|
||||
rbx.platform.typedef.__uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.__uint_least8_t = uchar
|
||||
rbx.platform.typedef.__uintmax_t = ulong_long
|
||||
rbx.platform.typedef.__uintptr_t = ulong
|
||||
rbx.platform.typedef.__useconds_t = uint
|
||||
rbx.platform.typedef.__vaddr_t = ulong
|
||||
rbx.platform.typedef.__vsize_t = ulong
|
||||
rbx.platform.typedef.__wchar_t = int
|
||||
rbx.platform.typedef.__wctrans_t = pointer
|
||||
rbx.platform.typedef.__wctype_t = pointer
|
||||
rbx.platform.typedef.__wint_t = int
|
||||
rbx.platform.typedef.blkcnt_t = long_long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.caddr_t = string
|
||||
rbx.platform.typedef.clock_t = long_long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cpuid_t = ulong
|
||||
rbx.platform.typedef.daddr32_t = int
|
||||
rbx.platform.typedef.daddr_t = long_long
|
||||
rbx.platform.typedef.dev_t = int
|
||||
rbx.platform.typedef.fixpt_t = uint
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.id_t = uint
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.ino_t = ulong_long
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.key_t = long
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.paddr_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.psize_t = ulong
|
||||
rbx.platform.typedef.qaddr_t = pointer
|
||||
rbx.platform.typedef.quad_t = long_long
|
||||
rbx.platform.typedef.register_t = long
|
||||
rbx.platform.typedef.rlim_t = ulong_long
|
||||
rbx.platform.typedef.sa_family_t = uchar
|
||||
rbx.platform.typedef.segsz_t = int
|
||||
rbx.platform.typedef.sigset_t = uint
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.swblk_t = int
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_int16_t = ushort
|
||||
rbx.platform.typedef.u_int32_t = uint
|
||||
rbx.platform.typedef.u_int64_t = ulong_long
|
||||
rbx.platform.typedef.u_int8_t = uchar
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_quad_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.vaddr_t = ulong
|
||||
rbx.platform.typedef.vsize_t = ulong
|
||||
@@ -0,0 +1,122 @@
|
||||
rbx.platform.typedef.*caddr_t = char
|
||||
rbx.platform.typedef.blkcnt64_t = long
|
||||
rbx.platform.typedef.blkcnt_t = long
|
||||
rbx.platform.typedef.blksize_t = int
|
||||
rbx.platform.typedef.clock_t = long
|
||||
rbx.platform.typedef.clockid_t = int
|
||||
rbx.platform.typedef.cnt_t = short
|
||||
rbx.platform.typedef.cpu_flag_t = ushort
|
||||
rbx.platform.typedef.ctid_t = int
|
||||
rbx.platform.typedef.daddr_t = long
|
||||
rbx.platform.typedef.datalink_id_t = uint
|
||||
rbx.platform.typedef.dev_t = ulong
|
||||
rbx.platform.typedef.diskaddr_t = ulong_long
|
||||
rbx.platform.typedef.disp_lock_t = uchar
|
||||
rbx.platform.typedef.fd_mask = long
|
||||
rbx.platform.typedef.fds_mask = long
|
||||
rbx.platform.typedef.fsblkcnt64_t = ulong
|
||||
rbx.platform.typedef.fsblkcnt_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt64_t = ulong
|
||||
rbx.platform.typedef.fsfilcnt_t = ulong
|
||||
rbx.platform.typedef.gid_t = uint
|
||||
rbx.platform.typedef.hrtime_t = long_long
|
||||
rbx.platform.typedef.id_t = int
|
||||
rbx.platform.typedef.in_addr_t = uint
|
||||
rbx.platform.typedef.in_port_t = ushort
|
||||
rbx.platform.typedef.index_t = short
|
||||
rbx.platform.typedef.ino64_t = ulong
|
||||
rbx.platform.typedef.ino_t = ulong
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = int
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long
|
||||
rbx.platform.typedef.intptr_t = long
|
||||
rbx.platform.typedef.ipaddr_t = uint
|
||||
rbx.platform.typedef.k_fltset_t = uint
|
||||
rbx.platform.typedef.key_t = int
|
||||
rbx.platform.typedef.len_t = ulong_long
|
||||
rbx.platform.typedef.lgrp_id_t = int
|
||||
rbx.platform.typedef.lock_t = uchar
|
||||
rbx.platform.typedef.longlong_t = long_long
|
||||
rbx.platform.typedef.major_t = uint
|
||||
rbx.platform.typedef.minor_t = uint
|
||||
rbx.platform.typedef.mode_t = uint
|
||||
rbx.platform.typedef.model_t = uint
|
||||
rbx.platform.typedef.nfds_t = ulong
|
||||
rbx.platform.typedef.nlink_t = uint
|
||||
rbx.platform.typedef.o_dev_t = short
|
||||
rbx.platform.typedef.o_gid_t = ushort
|
||||
rbx.platform.typedef.o_ino_t = ushort
|
||||
rbx.platform.typedef.o_mode_t = ushort
|
||||
rbx.platform.typedef.o_nlink_t = short
|
||||
rbx.platform.typedef.o_pid_t = short
|
||||
rbx.platform.typedef.o_uid_t = ushort
|
||||
rbx.platform.typedef.off64_t = long
|
||||
rbx.platform.typedef.off_t = long
|
||||
rbx.platform.typedef.offset_t = long_long
|
||||
rbx.platform.typedef.pad64_t = long
|
||||
rbx.platform.typedef.pfn_t = ulong
|
||||
rbx.platform.typedef.pgcnt_t = ulong
|
||||
rbx.platform.typedef.pid_t = int
|
||||
rbx.platform.typedef.poolid_t = int
|
||||
rbx.platform.typedef.pri_t = short
|
||||
rbx.platform.typedef.projid_t = int
|
||||
rbx.platform.typedef.pthread_key_t = uint
|
||||
rbx.platform.typedef.pthread_t = uint
|
||||
rbx.platform.typedef.ptrdiff_t = long
|
||||
rbx.platform.typedef.rlim64_t = ulong_long
|
||||
rbx.platform.typedef.rlim_t = ulong
|
||||
rbx.platform.typedef.sa_family_t = ushort
|
||||
rbx.platform.typedef.size_t = ulong
|
||||
rbx.platform.typedef.socklen_t = uint
|
||||
rbx.platform.typedef.spgcnt_t = long
|
||||
rbx.platform.typedef.ssize_t = long
|
||||
rbx.platform.typedef.suseconds_t = long
|
||||
rbx.platform.typedef.sysid_t = short
|
||||
rbx.platform.typedef.t_scalar_t = int
|
||||
rbx.platform.typedef.t_uscalar_t = uint
|
||||
rbx.platform.typedef.taskid_t = int
|
||||
rbx.platform.typedef.time_t = long
|
||||
rbx.platform.typedef.timer_t = int
|
||||
rbx.platform.typedef.u_char = uchar
|
||||
rbx.platform.typedef.u_int = uint
|
||||
rbx.platform.typedef.u_long = ulong
|
||||
rbx.platform.typedef.u_longlong_t = ulong_long
|
||||
rbx.platform.typedef.u_offset_t = ulong_long
|
||||
rbx.platform.typedef.u_short = ushort
|
||||
rbx.platform.typedef.uchar_t = uchar
|
||||
rbx.platform.typedef.uid_t = uint
|
||||
rbx.platform.typedef.uint = uint
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint32_t = uint
|
||||
rbx.platform.typedef.uint64_t = ulong
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = uint
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least32_t = uint
|
||||
rbx.platform.typedef.uint_least64_t = ulong
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uint_t = uint
|
||||
rbx.platform.typedef.uintmax_t = ulong
|
||||
rbx.platform.typedef.uintptr_t = ulong
|
||||
rbx.platform.typedef.ulong = ulong
|
||||
rbx.platform.typedef.ulong_t = ulong
|
||||
rbx.platform.typedef.unchar = uchar
|
||||
rbx.platform.typedef.upad64_t = ulong
|
||||
rbx.platform.typedef.use_t = uchar
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.ushort = ushort
|
||||
rbx.platform.typedef.ushort_t = ushort
|
||||
rbx.platform.typedef.zoneid_t = int
|
||||
@@ -0,0 +1,52 @@
|
||||
rbx.platform.typedef.__time32_t = long
|
||||
rbx.platform.typedef.__time64_t = long_long
|
||||
rbx.platform.typedef._dev_t = uint
|
||||
rbx.platform.typedef._ino_t = ushort
|
||||
rbx.platform.typedef._mode_t = ushort
|
||||
rbx.platform.typedef._off64_t = long_long
|
||||
rbx.platform.typedef._off_t = long
|
||||
rbx.platform.typedef._pid_t = long_long
|
||||
rbx.platform.typedef._sigset_t = ulong_long
|
||||
rbx.platform.typedef.dev_t = uint
|
||||
rbx.platform.typedef.errno_t = int
|
||||
rbx.platform.typedef.ino_t = ushort
|
||||
rbx.platform.typedef.int16_t = short
|
||||
rbx.platform.typedef.int32_t = int
|
||||
rbx.platform.typedef.int64_t = long_long
|
||||
rbx.platform.typedef.int8_t = char
|
||||
rbx.platform.typedef.int_fast16_t = short
|
||||
rbx.platform.typedef.int_fast32_t = int
|
||||
rbx.platform.typedef.int_fast64_t = long_long
|
||||
rbx.platform.typedef.int_fast8_t = char
|
||||
rbx.platform.typedef.int_least16_t = short
|
||||
rbx.platform.typedef.int_least32_t = int
|
||||
rbx.platform.typedef.int_least64_t = long_long
|
||||
rbx.platform.typedef.int_least8_t = char
|
||||
rbx.platform.typedef.intmax_t = long_long
|
||||
rbx.platform.typedef.intptr_t = long_long
|
||||
rbx.platform.typedef.mode_t = ushort
|
||||
rbx.platform.typedef.off32_t = long
|
||||
rbx.platform.typedef.off64_t = long_long
|
||||
rbx.platform.typedef.off_t = long_long
|
||||
rbx.platform.typedef.pid_t = long_long
|
||||
rbx.platform.typedef.ptrdiff_t = long_long
|
||||
rbx.platform.typedef.rsize_t = ulong_long
|
||||
rbx.platform.typedef.size_t = ulong_long
|
||||
rbx.platform.typedef.ssize_t = long_long
|
||||
rbx.platform.typedef.time_t = long_long
|
||||
rbx.platform.typedef.uint16_t = ushort
|
||||
rbx.platform.typedef.uint64_t = ulong_long
|
||||
rbx.platform.typedef.uint8_t = uchar
|
||||
rbx.platform.typedef.uint_fast16_t = ushort
|
||||
rbx.platform.typedef.uint_fast32_t = uint
|
||||
rbx.platform.typedef.uint_fast64_t = ulong_long
|
||||
rbx.platform.typedef.uint_fast8_t = uchar
|
||||
rbx.platform.typedef.uint_least16_t = ushort
|
||||
rbx.platform.typedef.uint_least64_t = ulong_long
|
||||
rbx.platform.typedef.uint_least8_t = uchar
|
||||
rbx.platform.typedef.uintmax_t = ulong_long
|
||||
rbx.platform.typedef.uintptr_t = ulong_long
|
||||
rbx.platform.typedef.useconds_t = uint
|
||||
rbx.platform.typedef.wchar_t = ushort
|
||||
rbx.platform.typedef.wctype_t = ushort
|
||||
rbx.platform.typedef.wint_t = ushort
|
||||
@@ -0,0 +1,167 @@
|
||||
#
|
||||
# Copyright (C) 2008, 2009 Wayne Meissner
|
||||
# Copyright (c) 2007, 2008 Evan Phoenix
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
require 'ffi/platform'
|
||||
|
||||
# NOTE: all method definitions in this file are conditional on
|
||||
# whether they are not already defined. This is needed because
|
||||
# some Ruby implementations (e.g., TruffleRuby) might already
|
||||
# provide these methods due to using FFI internally, and we
|
||||
# should not override them to avoid warnings.
|
||||
|
||||
module FFI
|
||||
class Pointer
|
||||
|
||||
# Pointer size
|
||||
SIZE = Platform::ADDRESS_SIZE / 8 unless const_defined?(:SIZE)
|
||||
|
||||
# Return the size of a pointer on the current platform, in bytes
|
||||
# @return [Integer]
|
||||
def self.size
|
||||
SIZE
|
||||
end unless respond_to?(:size)
|
||||
|
||||
# @param [nil,Integer] len length of string to return
|
||||
# @return [String]
|
||||
# Read pointer's contents as a string, or the first +len+ bytes of the
|
||||
# equivalent string if +len+ is not +nil+.
|
||||
def read_string(len=nil)
|
||||
if len
|
||||
return ''.b if len == 0
|
||||
get_bytes(0, len)
|
||||
else
|
||||
get_string(0)
|
||||
end
|
||||
end unless method_defined?(:read_string)
|
||||
|
||||
# @param [Integer] len length of string to return
|
||||
# @return [String]
|
||||
# Read the first +len+ bytes of pointer's contents as a string.
|
||||
#
|
||||
# Same as:
|
||||
# ptr.read_string(len) # with len not nil
|
||||
def read_string_length(len)
|
||||
get_bytes(0, len)
|
||||
end unless method_defined?(:read_string_length)
|
||||
|
||||
# @return [String]
|
||||
# Read pointer's contents as a string.
|
||||
#
|
||||
# Same as:
|
||||
# ptr.read_string # with no len
|
||||
def read_string_to_null
|
||||
get_string(0)
|
||||
end unless method_defined?(:read_string_to_null)
|
||||
|
||||
# @param [String] str string to write
|
||||
# @param [Integer] len length of string to return
|
||||
# @return [self]
|
||||
# Write +len+ first bytes of +str+ in pointer's contents.
|
||||
#
|
||||
# Same as:
|
||||
# ptr.write_string(str, len) # with len not nil
|
||||
def write_string_length(str, len)
|
||||
put_bytes(0, str, 0, len)
|
||||
end unless method_defined?(:write_string_length)
|
||||
|
||||
# @param [String] str string to write
|
||||
# @param [Integer] len length of string to return
|
||||
# @return [self]
|
||||
# Write +str+ in pointer's contents, or first +len+ bytes if
|
||||
# +len+ is not +nil+.
|
||||
def write_string(str, len=nil)
|
||||
len = str.bytesize unless len
|
||||
# Write the string data without NUL termination
|
||||
put_bytes(0, str, 0, len)
|
||||
end unless method_defined?(:write_string)
|
||||
|
||||
# @param [Type] type type of data to read from pointer's contents
|
||||
# @param [Symbol] reader method to send to +self+ to read +type+
|
||||
# @param [Integer] length
|
||||
# @return [Array]
|
||||
# Read an array of +type+ of length +length+.
|
||||
# @example
|
||||
# ptr.read_array_of_type(TYPE_UINT8, :read_uint8, 4) # -> [1, 2, 3, 4]
|
||||
def read_array_of_type(type, reader, length)
|
||||
ary = []
|
||||
size = FFI.type_size(type)
|
||||
tmp = self
|
||||
length.times { |j|
|
||||
ary << tmp.send(reader)
|
||||
tmp += size unless j == length-1 # avoid OOB
|
||||
}
|
||||
ary
|
||||
end unless method_defined?(:read_array_of_type)
|
||||
|
||||
# @param [Type] type type of data to write to pointer's contents
|
||||
# @param [Symbol] writer method to send to +self+ to write +type+
|
||||
# @param [Array] ary
|
||||
# @return [self]
|
||||
# Write +ary+ in pointer's contents as +type+.
|
||||
# @example
|
||||
# ptr.write_array_of_type(TYPE_UINT8, :put_uint8, [1, 2, 3 ,4])
|
||||
def write_array_of_type(type, writer, ary)
|
||||
size = FFI.type_size(type)
|
||||
ary.each_with_index { |val, i|
|
||||
break unless i < self.size
|
||||
self.send(writer, i * size, val)
|
||||
}
|
||||
self
|
||||
end unless method_defined?(:write_array_of_type)
|
||||
|
||||
# @return [self]
|
||||
def to_ptr
|
||||
self
|
||||
end unless method_defined?(:to_ptr)
|
||||
|
||||
# @param [Symbol,Type] type of data to read
|
||||
# @return [Object]
|
||||
# Read pointer's contents as +type+
|
||||
#
|
||||
# Same as:
|
||||
# ptr.get(type, 0)
|
||||
def read(type)
|
||||
get(type, 0)
|
||||
end unless method_defined?(:read)
|
||||
|
||||
# @param [Symbol,Type] type of data to read
|
||||
# @param [Object] value to write
|
||||
# @return [nil]
|
||||
# Write +value+ of type +type+ to pointer's content
|
||||
#
|
||||
# Same as:
|
||||
# ptr.put(type, 0)
|
||||
def write(type, value)
|
||||
put(type, 0, value)
|
||||
end unless method_defined?(:write)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,317 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
# Copyright (C) 2008, 2009 Andrea Fazzi
|
||||
# Copyright (C) 2008, 2009 Luc Heinrich
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
require 'ffi/platform'
|
||||
require 'ffi/struct_layout'
|
||||
require 'ffi/struct_layout_builder'
|
||||
require 'ffi/struct_by_reference'
|
||||
|
||||
module FFI
|
||||
|
||||
class Struct
|
||||
|
||||
# Get struct size
|
||||
# @return [Integer]
|
||||
def size
|
||||
self.class.size
|
||||
end
|
||||
|
||||
# @return [Integer] Struct alignment
|
||||
def alignment
|
||||
self.class.alignment
|
||||
end
|
||||
alias_method :align, :alignment
|
||||
|
||||
# (see FFI::StructLayout#offset_of)
|
||||
def offset_of(name)
|
||||
self.class.offset_of(name)
|
||||
end
|
||||
|
||||
# (see FFI::StructLayout#members)
|
||||
def members
|
||||
self.class.members
|
||||
end
|
||||
|
||||
# @return [Array]
|
||||
# Get array of values from Struct fields.
|
||||
def values
|
||||
members.map { |m| self[m] }
|
||||
end
|
||||
|
||||
# (see FFI::StructLayout#offsets)
|
||||
def offsets
|
||||
self.class.offsets
|
||||
end
|
||||
|
||||
# Clear the struct content.
|
||||
# @return [self]
|
||||
def clear
|
||||
pointer.clear
|
||||
self
|
||||
end
|
||||
|
||||
# Get {Pointer} to struct content.
|
||||
# @return [AbstractMemory]
|
||||
def to_ptr
|
||||
pointer
|
||||
end
|
||||
|
||||
# Get struct size
|
||||
# @return [Integer]
|
||||
def self.size
|
||||
defined?(@layout) ? @layout.size : defined?(@size) ? @size : 0
|
||||
end
|
||||
|
||||
# set struct size
|
||||
# @param [Integer] size
|
||||
# @return [size]
|
||||
def self.size=(size)
|
||||
raise ArgumentError, "Size already set" if defined?(@size) || defined?(@layout)
|
||||
@size = size
|
||||
end
|
||||
|
||||
# @return (see Struct#alignment)
|
||||
def self.alignment
|
||||
@layout.alignment
|
||||
end
|
||||
|
||||
# (see FFI::Type#members)
|
||||
def self.members
|
||||
@layout.members
|
||||
end
|
||||
|
||||
# (see FFI::StructLayout#offsets)
|
||||
def self.offsets
|
||||
@layout.offsets
|
||||
end
|
||||
|
||||
# (see FFI::StructLayout#offset_of)
|
||||
def self.offset_of(name)
|
||||
@layout.offset_of(name)
|
||||
end
|
||||
|
||||
def self.in
|
||||
ptr(:in)
|
||||
end
|
||||
|
||||
def self.out
|
||||
ptr(:out)
|
||||
end
|
||||
|
||||
def self.ptr(flags = :inout)
|
||||
@ref_data_type ||= Type::Mapped.new(StructByReference.new(self))
|
||||
end
|
||||
|
||||
def self.val
|
||||
@val_data_type ||= StructByValue.new(self)
|
||||
end
|
||||
|
||||
def self.by_value
|
||||
self.val
|
||||
end
|
||||
|
||||
def self.by_ref(flags = :inout)
|
||||
self.ptr(flags)
|
||||
end
|
||||
|
||||
class ManagedStructConverter < StructByReference
|
||||
|
||||
# @param [Struct] struct_class
|
||||
def initialize(struct_class)
|
||||
super(struct_class)
|
||||
|
||||
raise NoMethodError, "release() not implemented for class #{struct_class}" unless struct_class.respond_to? :release
|
||||
@method = struct_class.method(:release)
|
||||
end
|
||||
|
||||
# @param [Pointer] ptr
|
||||
# @param [nil] ctx
|
||||
# @return [Struct]
|
||||
def from_native(ptr, ctx)
|
||||
struct_class.new(AutoPointer.new(ptr, @method))
|
||||
end
|
||||
end
|
||||
|
||||
def self.auto_ptr
|
||||
@managed_type ||= Type::Mapped.new(ManagedStructConverter.new(self))
|
||||
end
|
||||
|
||||
|
||||
class << self
|
||||
public
|
||||
|
||||
# @return [StructLayout]
|
||||
# @overload layout
|
||||
# @return [StructLayout]
|
||||
# Get struct layout.
|
||||
# @overload layout(*spec)
|
||||
# @param [Array<Symbol, Integer>,Array(Hash)] spec
|
||||
# @return [StructLayout]
|
||||
# Create struct layout from +spec+.
|
||||
# @example Creating a layout from an array +spec+
|
||||
# class MyStruct < Struct
|
||||
# layout :field1, :int,
|
||||
# :field2, :pointer,
|
||||
# :field3, :string
|
||||
# end
|
||||
# @example Creating a layout from an array +spec+ with offset
|
||||
# class MyStructWithOffset < Struct
|
||||
# layout :field1, :int,
|
||||
# :field2, :pointer, 6, # set offset to 6 for this field
|
||||
# :field3, :string
|
||||
# end
|
||||
# @example Creating a layout from a hash +spec+
|
||||
# class MyStructFromHash < Struct
|
||||
# layout :field1 => :int,
|
||||
# :field2 => :pointer,
|
||||
# :field3 => :string
|
||||
# end
|
||||
# @example Creating a layout with pointers to functions
|
||||
# class MyFunctionTable < Struct
|
||||
# layout :function1, callback([:int, :int], :int),
|
||||
# :function2, callback([:pointer], :void),
|
||||
# :field3, :string
|
||||
# end
|
||||
def layout(*spec)
|
||||
return @layout if spec.size == 0
|
||||
|
||||
warn "[DEPRECATION] Struct layout is already defined for class #{self.inspect}. Redefinition as in #{caller[0]} will be disallowed in ffi-2.0." if defined?(@layout)
|
||||
|
||||
builder = StructLayoutBuilder.new
|
||||
builder.union = self < Union
|
||||
builder.packed = @packed if defined?(@packed)
|
||||
builder.alignment = @min_alignment if defined?(@min_alignment)
|
||||
|
||||
if spec[0].kind_of?(Hash)
|
||||
hash_layout(builder, spec)
|
||||
else
|
||||
array_layout(builder, spec)
|
||||
end
|
||||
builder.size = @size if defined?(@size) && @size > builder.size
|
||||
cspec = builder.build
|
||||
@layout = cspec unless self == Struct
|
||||
@size = cspec.size
|
||||
return cspec
|
||||
end
|
||||
|
||||
|
||||
protected
|
||||
|
||||
def callback(params, ret)
|
||||
mod = enclosing_module
|
||||
ret_type = find_type(ret, mod)
|
||||
if ret_type == Type::STRING
|
||||
raise TypeError, ":string is not allowed as return type of callbacks"
|
||||
end
|
||||
FFI::CallbackInfo.new(ret_type, params.map { |e| find_type(e, mod) })
|
||||
end
|
||||
|
||||
def packed(packed = 1)
|
||||
@packed = packed
|
||||
end
|
||||
alias :pack :packed
|
||||
|
||||
def aligned(alignment = 1)
|
||||
@min_alignment = alignment
|
||||
end
|
||||
alias :align :aligned
|
||||
|
||||
def enclosing_module
|
||||
begin
|
||||
mod = self.name.split("::")[0..-2].inject(Object) { |obj, c| obj.const_get(c) }
|
||||
if mod.respond_to?(:find_type) && (mod.is_a?(FFI::Library) || mod < FFI::Struct)
|
||||
mod
|
||||
end
|
||||
rescue Exception
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def find_field_type(type, mod = enclosing_module)
|
||||
if type.kind_of?(Class) && type < Struct
|
||||
FFI::Type::Struct.new(type)
|
||||
|
||||
elsif type.kind_of?(Class) && type < FFI::StructLayout::Field
|
||||
type
|
||||
|
||||
elsif type.kind_of?(::Array)
|
||||
FFI::Type::Array.new(find_field_type(type[0]), type[1])
|
||||
|
||||
else
|
||||
find_type(type, mod)
|
||||
end
|
||||
end
|
||||
|
||||
def find_type(type, mod = enclosing_module)
|
||||
if mod
|
||||
mod.find_type(type)
|
||||
end || FFI.find_type(type)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# @param [StructLayoutBuilder] builder
|
||||
# @param [Hash] spec
|
||||
# @return [builder]
|
||||
# Add hash +spec+ to +builder+.
|
||||
def hash_layout(builder, spec)
|
||||
spec[0].each do |name, type|
|
||||
builder.add name, find_field_type(type), nil
|
||||
end
|
||||
end
|
||||
|
||||
# @param [StructLayoutBuilder] builder
|
||||
# @param [Array<Symbol, Integer>] spec
|
||||
# @return [builder]
|
||||
# Add array +spec+ to +builder+.
|
||||
def array_layout(builder, spec)
|
||||
i = 0
|
||||
while i < spec.size
|
||||
name, type = spec[i, 2]
|
||||
i += 2
|
||||
|
||||
# If the next param is a Integer, it specifies the offset
|
||||
if spec[i].kind_of?(Integer)
|
||||
offset = spec[i]
|
||||
i += 1
|
||||
else
|
||||
offset = nil
|
||||
end
|
||||
|
||||
builder.add name, find_field_type(type), offset
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,72 @@
|
||||
#
|
||||
# Copyright (C) 2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
|
||||
|
||||
module FFI
|
||||
# This class includes the {FFI::DataConverter} module.
|
||||
class StructByReference
|
||||
include DataConverter
|
||||
|
||||
attr_reader :struct_class
|
||||
|
||||
# @param [Struct] struct_class
|
||||
def initialize(struct_class)
|
||||
unless Class === struct_class and struct_class < FFI::Struct
|
||||
raise TypeError, 'wrong type (expected subclass of FFI::Struct)'
|
||||
end
|
||||
@struct_class = struct_class
|
||||
end
|
||||
|
||||
# Always get {FFI::Type}::POINTER.
|
||||
def native_type
|
||||
FFI::Type::POINTER
|
||||
end
|
||||
|
||||
# @param [nil, Struct] value
|
||||
# @param [nil] ctx
|
||||
# @return [AbstractMemory] Pointer on +value+.
|
||||
def to_native(value, ctx)
|
||||
return Pointer::NULL if value.nil?
|
||||
|
||||
unless @struct_class === value
|
||||
raise TypeError, "wrong argument type #{value.class} (expected #{@struct_class})"
|
||||
end
|
||||
|
||||
value.pointer
|
||||
end
|
||||
|
||||
# @param [AbstractMemory] value
|
||||
# @param [nil] ctx
|
||||
# @return [Struct]
|
||||
# Create a struct from content of memory +value+.
|
||||
def from_native(value, ctx)
|
||||
@struct_class.new(value)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,96 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
# Copyright (C) 2008, 2009 Andrea Fazzi
|
||||
# Copyright (C) 2008, 2009 Luc Heinrich
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
module FFI
|
||||
|
||||
class StructLayout
|
||||
|
||||
# @return [Array<Array(Symbol, Integer)>
|
||||
# Get an array of tuples (field name, offset of the field).
|
||||
def offsets
|
||||
members.map { |m| [ m, self[m].offset ] }
|
||||
end
|
||||
|
||||
# @return [Integer]
|
||||
# Get the offset of a field.
|
||||
def offset_of(field_name)
|
||||
self[field_name].offset
|
||||
end
|
||||
|
||||
# An enum {Field} in a {StructLayout}.
|
||||
class Enum < Field
|
||||
|
||||
# @param [AbstractMemory] ptr pointer on a {Struct}
|
||||
# @return [Object]
|
||||
# Get an object of type {#type} from memory pointed by +ptr+.
|
||||
def get(ptr)
|
||||
type.find(ptr.get_int(offset))
|
||||
end
|
||||
|
||||
# @param [AbstractMemory] ptr pointer on a {Struct}
|
||||
# @param value
|
||||
# @return [nil]
|
||||
# Set +value+ into memory pointed by +ptr+.
|
||||
def put(ptr, value)
|
||||
ptr.put_int(offset, type.find(value))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
class InnerStruct < Field
|
||||
def get(ptr)
|
||||
type.struct_class.new(ptr.slice(self.offset, self.size))
|
||||
end
|
||||
|
||||
def put(ptr, value)
|
||||
raise TypeError, "wrong value type (expected #{type.struct_class})" unless value.is_a?(type.struct_class)
|
||||
ptr.slice(self.offset, self.size).__copy_from__(value.pointer, self.size)
|
||||
end
|
||||
end
|
||||
|
||||
class Mapped < Field
|
||||
def initialize(name, offset, type, orig_field)
|
||||
@orig_field = orig_field
|
||||
super(name, offset, type)
|
||||
end
|
||||
|
||||
def get(ptr)
|
||||
type.from_native(@orig_field.get(ptr), nil)
|
||||
end
|
||||
|
||||
def put(ptr, value)
|
||||
@orig_field.put(ptr, type.to_native(value, nil))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,227 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 Wayne Meissner
|
||||
#
|
||||
# This file is part of ruby-ffi.
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright notice, this
|
||||
# list of conditions and the following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above copyright notice
|
||||
# this list of conditions and the following disclaimer in the documentation
|
||||
# and/or other materials provided with the distribution.
|
||||
# * Neither the name of the Ruby FFI project nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
module FFI
|
||||
|
||||
# Build a {StructLayout struct layout}.
|
||||
class StructLayoutBuilder
|
||||
attr_reader :size
|
||||
attr_reader :alignment
|
||||
|
||||
def initialize
|
||||
@size = 0
|
||||
@alignment = 1
|
||||
@min_alignment = 1
|
||||
@packed = false
|
||||
@union = false
|
||||
@fields = Array.new
|
||||
end
|
||||
|
||||
# Set size attribute with +size+ only if +size+ is greater than attribute value.
|
||||
# @param [Integer] size
|
||||
def size=(size)
|
||||
@size = size if size > @size
|
||||
end
|
||||
|
||||
# Set alignment attribute with +align+ only if it is greater than attribute value.
|
||||
# @param [Integer] align
|
||||
def alignment=(align)
|
||||
@alignment = align if align > @alignment
|
||||
@min_alignment = align
|
||||
end
|
||||
|
||||
# Set union attribute.
|
||||
# Set to +true+ to build a {Union} instead of a {Struct}.
|
||||
# @param [Boolean] is_union
|
||||
# @return [is_union]
|
||||
def union=(is_union)
|
||||
@union = is_union
|
||||
end
|
||||
|
||||
# Building a {Union} or a {Struct} ?
|
||||
#
|
||||
# @return [Boolean]
|
||||
#
|
||||
def union?
|
||||
@union
|
||||
end
|
||||
|
||||
# Set packed attribute
|
||||
# @overload packed=(packed) Set alignment and packed attributes to
|
||||
# +packed+.
|
||||
#
|
||||
# @param [Integer] packed
|
||||
#
|
||||
# @return [packed]
|
||||
# @overload packed=(packed) Set packed attribute.
|
||||
# @param packed
|
||||
#
|
||||
# @return [0,1]
|
||||
#
|
||||
def packed=(packed)
|
||||
if packed.is_a?(0.class)
|
||||
@alignment = packed
|
||||
@packed = packed
|
||||
else
|
||||
@packed = packed ? 1 : 0
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
# List of number types
|
||||
NUMBER_TYPES = [
|
||||
Type::INT8,
|
||||
Type::UINT8,
|
||||
Type::INT16,
|
||||
Type::UINT16,
|
||||
Type::INT32,
|
||||
Type::UINT32,
|
||||
Type::LONG,
|
||||
Type::ULONG,
|
||||
Type::INT64,
|
||||
Type::UINT64,
|
||||
Type::FLOAT32,
|
||||
Type::FLOAT64,
|
||||
Type::LONGDOUBLE,
|
||||
Type::BOOL,
|
||||
].freeze
|
||||
|
||||
# @param [String, Symbol] name name of the field
|
||||
# @param [Array, DataConverter, Struct, StructLayout::Field, Symbol, Type] type type of the field
|
||||
# @param [Integer, nil] offset
|
||||
# @return [self]
|
||||
# Add a field to the builder.
|
||||
# @note Setting +offset+ to +nil+ or +-1+ is equivalent to +0+.
|
||||
def add(name, type, offset = nil)
|
||||
|
||||
if offset.nil? || offset == -1
|
||||
offset = @union ? 0 : align(@size, @packed ? [ @packed, type.alignment ].min : [ @min_alignment, type.alignment ].max)
|
||||
end
|
||||
|
||||
#
|
||||
# If a FFI::Type type was passed in as the field arg, try and convert to a StructLayout::Field instance
|
||||
#
|
||||
field = type.is_a?(StructLayout::Field) ? type : field_for_type(name, offset, type)
|
||||
@fields << field
|
||||
@alignment = [ @alignment, field.alignment ].max unless @packed
|
||||
@size = [ @size, field.size + (@union ? 0 : field.offset) ].max
|
||||
|
||||
return self
|
||||
end
|
||||
|
||||
# @param (see #add)
|
||||
# @return (see #add)
|
||||
# Same as {#add}.
|
||||
# @see #add
|
||||
def add_field(name, type, offset = nil)
|
||||
add(name, type, offset)
|
||||
end
|
||||
|
||||
# @param (see #add)
|
||||
# @return (see #add)
|
||||
# Add a struct as a field to the builder.
|
||||
def add_struct(name, type, offset = nil)
|
||||
add(name, Type::Struct.new(type), offset)
|
||||
end
|
||||
|
||||
# @param name (see #add)
|
||||
# @param type (see #add)
|
||||
# @param [Integer] count array length
|
||||
# @param offset (see #add)
|
||||
# @return (see #add)
|
||||
# Add an array as a field to the builder.
|
||||
def add_array(name, type, count, offset = nil)
|
||||
add(name, Type::Array.new(type, count), offset)
|
||||
end
|
||||
|
||||
# @return [StructLayout]
|
||||
# Build and return the struct layout.
|
||||
def build
|
||||
# Add tail padding if the struct is not packed
|
||||
size = @packed ? @size : align(@size, @alignment)
|
||||
|
||||
layout = StructLayout.new(@fields, size, @alignment)
|
||||
layout.__union! if @union
|
||||
layout
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# @param [Integer] offset
|
||||
# @param [Integer] align
|
||||
# @return [Integer]
|
||||
def align(offset, align)
|
||||
align + ((offset - 1) & ~(align - 1));
|
||||
end
|
||||
|
||||
# @param (see #add)
|
||||
# @return [StructLayout::Field]
|
||||
def field_for_type(name, offset, type)
|
||||
field_class = case
|
||||
when type.is_a?(Type::Function)
|
||||
StructLayout::Function
|
||||
|
||||
when type.is_a?(Type::Struct)
|
||||
StructLayout::InnerStruct
|
||||
|
||||
when type.is_a?(Type::Array)
|
||||
StructLayout::Array
|
||||
|
||||
when type.is_a?(FFI::Enum)
|
||||
StructLayout::Enum
|
||||
|
||||
when NUMBER_TYPES.include?(type)
|
||||
StructLayout::Number
|
||||
|
||||
when type == Type::POINTER
|
||||
StructLayout::Pointer
|
||||
|
||||
when type == Type::STRING
|
||||
StructLayout::String
|
||||
|
||||
when type.is_a?(Class) && type < StructLayout::Field
|
||||
type
|
||||
|
||||
when type.is_a?(DataConverter)
|
||||
return StructLayout::Mapped.new(name, offset, Type::Mapped.new(type), field_for_type(name, offset, type.native_type))
|
||||
|
||||
when type.is_a?(Type::Mapped)
|
||||
return StructLayout::Mapped.new(name, offset, type, field_for_type(name, offset, type.native_type))
|
||||
|
||||
else
|
||||
raise TypeError, "invalid struct field type #{type.inspect}"
|
||||
end
|
||||
|
||||
field_class.new(name, offset, type)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,232 @@
|
||||
require 'tempfile'
|
||||
require 'open3'
|
||||
|
||||
module FFI
|
||||
|
||||
# ConstGenerator turns C constants into ruby values.
|
||||
#
|
||||
# @example a simple example for stdio
|
||||
# require 'ffi/tools/const_generator'
|
||||
# cg = FFI::ConstGenerator.new('stdio') do |gen|
|
||||
# gen.const(:SEEK_SET)
|
||||
# gen.const('SEEK_CUR')
|
||||
# gen.const('seek_end') # this constant does not exist
|
||||
# end # #calculate called automatically at the end of the block
|
||||
#
|
||||
# cg['SEEK_SET'] # => 0
|
||||
# cg['SEEK_CUR'] # => 1
|
||||
# cg['seek_end'] # => nil
|
||||
# cg.to_ruby # => "SEEK_SET = 0\nSEEK_CUR = 1\n# seek_end not available"
|
||||
class ConstGenerator
|
||||
@options = {}
|
||||
attr_reader :constants
|
||||
|
||||
# Creates a new constant generator that uses +prefix+ as a name, and an
|
||||
# options hash.
|
||||
#
|
||||
# The only option is +:required+, which if set to +true+ raises an error if a
|
||||
# constant you have requested was not found.
|
||||
#
|
||||
# @param [#to_s] prefix
|
||||
# @param [Hash] options
|
||||
# @return
|
||||
# @option options [Boolean] :required
|
||||
# @overload initialize(prefix, options)
|
||||
# @overload initialize(prefix, options) { |gen| ... }
|
||||
# @yieldparam [ConstGenerator] gen new generator is passed to the block
|
||||
# When passed a block, {#calculate} is automatically called at the end of
|
||||
# the block, otherwise you must call it yourself.
|
||||
def initialize(prefix = nil, options = {})
|
||||
@includes = ['stdio.h', 'stddef.h']
|
||||
@constants = {}
|
||||
@prefix = prefix
|
||||
|
||||
@required = options[:required]
|
||||
@options = options
|
||||
|
||||
if block_given? then
|
||||
yield self
|
||||
calculate self.class.options.merge(options)
|
||||
end
|
||||
end
|
||||
# Set class options
|
||||
# These options are merged with {#initialize} options when it is called with a block.
|
||||
# @param [Hash] options
|
||||
# @return [Hash] class options
|
||||
def self.options=(options)
|
||||
@options = options
|
||||
end
|
||||
# Get class options.
|
||||
# @return [Hash] class options
|
||||
def self.options
|
||||
@options
|
||||
end
|
||||
# @param [String] name
|
||||
# @return constant value (converted if a +converter+ was defined).
|
||||
# Access a constant by name.
|
||||
def [](name)
|
||||
@constants[name].converted_value
|
||||
end
|
||||
|
||||
# Request the value for C constant +name+.
|
||||
#
|
||||
# @param [#to_s] name C constant name
|
||||
# @param [String] format a printf format string to print the value out
|
||||
# @param [String] cast a C cast for the value
|
||||
# @param ruby_name alternate ruby name for {#to_ruby}
|
||||
#
|
||||
# @overload const(name, format=nil, cast='', ruby_name=nil, converter=nil)
|
||||
# +converter+ is a Method or a Proc.
|
||||
# @param [#call] converter convert the value from a string to the appropriate
|
||||
# type for {#to_ruby}.
|
||||
# @overload const(name, format=nil, cast='', ruby_name=nil) { |value| ... }
|
||||
# Use a converter block. This block convert the value from a string to the
|
||||
# appropriate type for {#to_ruby}.
|
||||
# @yieldparam value constant value
|
||||
def const(name, format = nil, cast = '', ruby_name = nil, converter = nil,
|
||||
&converter_proc)
|
||||
format ||= '%d'
|
||||
cast ||= ''
|
||||
|
||||
if converter_proc and converter then
|
||||
raise ArgumentError, "Supply only converter or converter block"
|
||||
end
|
||||
|
||||
converter = converter_proc if converter.nil?
|
||||
|
||||
const = Constant.new name, format, cast, ruby_name, converter
|
||||
@constants[name.to_s] = const
|
||||
return const
|
||||
end
|
||||
|
||||
# Calculate constants values.
|
||||
# @param [Hash] options
|
||||
# @option options [String] :cppflags flags for C compiler
|
||||
# @return [nil]
|
||||
# @raise if a constant is missing and +:required+ was set to +true+ (see {#initialize})
|
||||
def calculate(options = {})
|
||||
binary_path = nil
|
||||
|
||||
Tempfile.open("#{@prefix}.const_generator") do |f|
|
||||
binary_path = f.path + ".bin"
|
||||
@includes.each do |inc|
|
||||
f.puts "#include <#{inc}>"
|
||||
end
|
||||
f.puts "\nint main(int argc, char **argv)\n{"
|
||||
|
||||
@constants.each_value do |const|
|
||||
f.puts <<-EOF
|
||||
#ifdef #{const.name}
|
||||
printf("#{const.name} #{const.format}\\n", #{const.cast}#{const.name});
|
||||
#endif
|
||||
EOF
|
||||
end
|
||||
|
||||
f.puts "\n\treturn 0;\n}"
|
||||
f.flush
|
||||
|
||||
cc = ENV['CC'] || 'gcc'
|
||||
output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary_path} 2>&1`
|
||||
|
||||
unless $?.success? then
|
||||
output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
|
||||
raise "Compilation error generating constants #{@prefix}:\n#{output}"
|
||||
end
|
||||
end
|
||||
|
||||
output = `#{binary_path}`
|
||||
File.unlink(binary_path + (FFI::Platform.windows? ? ".exe" : ""))
|
||||
output.each_line do |line|
|
||||
line =~ /^(\S+)\s(.*)$/
|
||||
const = @constants[$1]
|
||||
const.value = $2
|
||||
end
|
||||
|
||||
missing_constants = @constants.select do |name, constant|
|
||||
constant.value.nil?
|
||||
end.map { |name,| name }
|
||||
|
||||
if @required and not missing_constants.empty? then
|
||||
raise "Missing required constants for #{@prefix}: #{missing_constants.join ', '}"
|
||||
end
|
||||
end
|
||||
|
||||
# Dump constants to +io+.
|
||||
# @param [#puts] io
|
||||
# @return [nil]
|
||||
def dump_constants(io)
|
||||
@constants.each do |name, constant|
|
||||
name = [@prefix, name].join '.' if @prefix
|
||||
io.puts "#{name} = #{constant.converted_value}"
|
||||
end
|
||||
end
|
||||
|
||||
# Outputs values for discovered constants. If the constant's value was
|
||||
# not discovered it is not omitted.
|
||||
# @return [String]
|
||||
def to_ruby
|
||||
@constants.sort_by { |name,| name }.map do |name, constant|
|
||||
if constant.value.nil? then
|
||||
"# #{name} not available"
|
||||
else
|
||||
constant.to_ruby
|
||||
end
|
||||
end.join "\n"
|
||||
end
|
||||
|
||||
# Add additional C include file(s) to calculate constants from.
|
||||
# @note +stdio.h+ and +stddef.h+ automatically included
|
||||
# @param [List<String>, Array<String>] i include file(s)
|
||||
# @return [Array<String>] array of include files
|
||||
def include(*i)
|
||||
@includes |= i.flatten
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# This class hold constants for {ConstGenerator}
|
||||
class ConstGenerator::Constant
|
||||
|
||||
attr_reader :name, :format, :cast
|
||||
attr_accessor :value
|
||||
|
||||
# @param [#to_s] name
|
||||
# @param [String] format a printf format string to print the value out
|
||||
# @param [String] cast a C cast for the value
|
||||
# @param ruby_name alternate ruby name for {#to_ruby}
|
||||
# @param [#call] converter convert the value from a string to the appropriate
|
||||
# type for {#to_ruby}.
|
||||
def initialize(name, format, cast, ruby_name = nil, converter=nil)
|
||||
@name = name
|
||||
@format = format
|
||||
@cast = cast
|
||||
@ruby_name = ruby_name
|
||||
@converter = converter
|
||||
@value = nil
|
||||
end
|
||||
|
||||
# Return constant value (converted if a +converter+ was defined).
|
||||
# @return constant value.
|
||||
def converted_value
|
||||
if @converter
|
||||
@converter.call(@value)
|
||||
else
|
||||
@value
|
||||
end
|
||||
end
|
||||
|
||||
# get constant ruby name
|
||||
# @return [String]
|
||||
def ruby_name
|
||||
@ruby_name || @name
|
||||
end
|
||||
|
||||
# Get an evaluable string from constant.
|
||||
# @return [String]
|
||||
def to_ruby
|
||||
"#{ruby_name} = #{converted_value}"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,105 @@
|
||||
require 'ffi/tools/struct_generator'
|
||||
require 'ffi/tools/const_generator'
|
||||
|
||||
module FFI
|
||||
|
||||
##
|
||||
# Generate files with C structs for FFI::Struct and C constants.
|
||||
#
|
||||
# == A simple example
|
||||
#
|
||||
# In file +zlib.rb.ffi+:
|
||||
# module Zlib
|
||||
# @@@
|
||||
# constants do |c|
|
||||
# c.include "zlib.h"
|
||||
# c.const :ZLIB_VERNUM
|
||||
# end
|
||||
# @@@
|
||||
#
|
||||
# class ZStream < FFI::Struct
|
||||
#
|
||||
# struct do |s|
|
||||
# s.name "struct z_stream_s"
|
||||
# s.include "zlib.h"
|
||||
#
|
||||
# s.field :next_in, :pointer
|
||||
# s.field :avail_in, :uint
|
||||
# s.field :total_in, :ulong
|
||||
# end
|
||||
# @@@
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# Translate the file:
|
||||
# require "ffi/tools/generator"
|
||||
# FFI::Generator.new "zlib.rb.ffi", "zlib.rb"
|
||||
#
|
||||
# Generates the file +zlib.rb+ with constant values and offsets:
|
||||
# module Zlib
|
||||
# ZLIB_VERNUM = 4784
|
||||
#
|
||||
# class ZStream < FFI::Struct
|
||||
# layout :next_in, :pointer, 0,
|
||||
# :avail_in, :uint, 8,
|
||||
# :total_in, :ulong, 16
|
||||
# end
|
||||
#
|
||||
# @see FFI::Generator::Task for easy integration in a Rakefile
|
||||
class Generator
|
||||
|
||||
def initialize(ffi_name, rb_name, options = {})
|
||||
@ffi_name = ffi_name
|
||||
@rb_name = rb_name
|
||||
@options = options
|
||||
@name = File.basename rb_name, '.rb'
|
||||
|
||||
file = File.read @ffi_name
|
||||
|
||||
new_file = file.gsub(/^( *)@@@(.*?)@@@/m) do
|
||||
@constants = []
|
||||
@structs = []
|
||||
|
||||
indent = $1
|
||||
original_lines = $2.count "\n"
|
||||
|
||||
instance_eval $2, @ffi_name, $`.count("\n")
|
||||
|
||||
new_lines = []
|
||||
@constants.each { |c| new_lines << c.to_ruby }
|
||||
@structs.each { |s| new_lines << s.generate_layout }
|
||||
|
||||
new_lines = new_lines.join("\n").split "\n" # expand multiline blocks
|
||||
new_lines = new_lines.map { |line| indent + line }
|
||||
|
||||
padding = original_lines - new_lines.length
|
||||
new_lines += [nil] * padding if padding >= 0
|
||||
|
||||
new_lines.join "\n"
|
||||
end
|
||||
|
||||
open @rb_name, 'w' do |f|
|
||||
f.puts "# This file is generated from `#{@ffi_name}'. Do not edit."
|
||||
f.puts
|
||||
f.puts new_file
|
||||
end
|
||||
end
|
||||
|
||||
def constants(options = {}, &block)
|
||||
@constants << FFI::ConstGenerator.new(@name, @options.merge(options), &block)
|
||||
end
|
||||
|
||||
def struct(options = {}, &block)
|
||||
@structs << FFI::StructGenerator.new(@name, @options.merge(options), &block)
|
||||
end
|
||||
|
||||
##
|
||||
# Utility converter for constants
|
||||
|
||||
def to_s
|
||||
proc { |obj| obj.to_s.inspect }
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
require 'ffi/tools/generator'
|
||||
require 'rake'
|
||||
require 'rake/tasklib'
|
||||
|
||||
##
|
||||
# Add Rake tasks that generate files with C structs for FFI::Struct and C constants.
|
||||
#
|
||||
# @example a simple example for your Rakefile
|
||||
# require "ffi/tools/generator_task"
|
||||
# # Add a task to generate my_object.rb out of my_object.rb.ffi
|
||||
# FFI::Generator::Task.new ["my_object.rb"], cflags: "-I/usr/local/mylibrary"
|
||||
#
|
||||
# The generated files are also added to the 'clear' task.
|
||||
#
|
||||
# @see FFI::Generator for a description of the file content
|
||||
class FFI::Generator::Task < Rake::TaskLib
|
||||
|
||||
def initialize(rb_names, options={})
|
||||
task :clean do rm_f rb_names end
|
||||
|
||||
rb_names.each do |rb_name|
|
||||
ffi_name = "#{rb_name}.ffi"
|
||||
|
||||
file rb_name => ffi_name do |t|
|
||||
puts "Generating #{rb_name}..." if Rake.application.options.trace
|
||||
|
||||
FFI::Generator.new ffi_name, rb_name, options
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user