This commit is contained in:
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
|
||||
@@ -0,0 +1,195 @@
|
||||
require 'tempfile'
|
||||
|
||||
module FFI
|
||||
|
||||
##
|
||||
# Generates an FFI Struct layout.
|
||||
#
|
||||
# Given the @@@ portion in:
|
||||
#
|
||||
# class Zlib::ZStream < FFI::Struct
|
||||
# @@@
|
||||
# name "struct z_stream_s"
|
||||
# include "zlib.h"
|
||||
#
|
||||
# field :next_in, :pointer
|
||||
# field :avail_in, :uint
|
||||
# field :total_in, :ulong
|
||||
#
|
||||
# # ...
|
||||
# @@@
|
||||
# end
|
||||
#
|
||||
# StructGenerator will create the layout:
|
||||
#
|
||||
# layout :next_in, :pointer, 0,
|
||||
# :avail_in, :uint, 4,
|
||||
# :total_in, :ulong, 8,
|
||||
# # ...
|
||||
#
|
||||
# StructGenerator does its best to pad the layout it produces to preserve
|
||||
# line numbers. Place the struct definition as close to the top of the file
|
||||
# for best results.
|
||||
|
||||
class StructGenerator
|
||||
@options = {}
|
||||
attr_accessor :size
|
||||
attr_reader :fields
|
||||
|
||||
def initialize(name, options = {})
|
||||
@name = name
|
||||
@struct_name = nil
|
||||
@includes = []
|
||||
@fields = []
|
||||
@found = false
|
||||
@size = nil
|
||||
|
||||
if block_given? then
|
||||
yield self
|
||||
calculate self.class.options.merge(options)
|
||||
end
|
||||
end
|
||||
def self.options=(options)
|
||||
@options = options
|
||||
end
|
||||
def self.options
|
||||
@options
|
||||
end
|
||||
def calculate(options = {})
|
||||
binary = File.join Dir.tmpdir, "rb_struct_gen_bin_#{Process.pid}"
|
||||
|
||||
raise "struct name not set" if @struct_name.nil?
|
||||
|
||||
Tempfile.open("#{@name}.struct_generator") do |f|
|
||||
f.puts "#include <stdio.h>"
|
||||
|
||||
@includes.each do |inc|
|
||||
f.puts "#include <#{inc}>"
|
||||
end
|
||||
|
||||
f.puts "#include <stddef.h>\n\n"
|
||||
f.puts "int main(int argc, char **argv)\n{"
|
||||
f.puts " #{@struct_name} s;"
|
||||
f.puts %[ printf("sizeof(#{@struct_name}) %u\\n", (unsigned int) sizeof(#{@struct_name}));]
|
||||
|
||||
@fields.each do |field|
|
||||
f.puts <<-EOF
|
||||
printf("#{field.name} %u %u\\n", (unsigned int) offsetof(#{@struct_name}, #{field.name}),
|
||||
(unsigned int) sizeof(s.#{field.name}));
|
||||
EOF
|
||||
end
|
||||
|
||||
f.puts "\n return 0;\n}"
|
||||
f.flush
|
||||
|
||||
cc = ENV['CC'] || 'gcc'
|
||||
output = `#{cc} #{options[:cppflags]} #{options[:cflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
|
||||
|
||||
unless $?.success? then
|
||||
@found = false
|
||||
output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
|
||||
raise "Compilation error generating struct #{@name} (#{@struct_name}):\n#{output}"
|
||||
end
|
||||
end
|
||||
|
||||
output = `#{binary}`.split "\n"
|
||||
File.unlink(binary + (FFI::Platform.windows? ? ".exe" : ""))
|
||||
sizeof = output.shift
|
||||
unless @size
|
||||
m = /\s*sizeof\([^)]+\) (\d+)/.match sizeof
|
||||
@size = m[1]
|
||||
end
|
||||
|
||||
line_no = 0
|
||||
output.each do |line|
|
||||
md = line.match(/.+ (\d+) (\d+)/)
|
||||
@fields[line_no].offset = md[1].to_i
|
||||
@fields[line_no].size = md[2].to_i
|
||||
|
||||
line_no += 1
|
||||
end
|
||||
|
||||
@found = true
|
||||
end
|
||||
|
||||
def field(name, type=nil)
|
||||
field = Field.new(name, type)
|
||||
@fields << field
|
||||
return field
|
||||
end
|
||||
|
||||
def found?
|
||||
@found
|
||||
end
|
||||
|
||||
def dump_config(io)
|
||||
io.puts "rbx.platform.#{@name}.sizeof = #{@size}"
|
||||
|
||||
@fields.each { |field| io.puts field.to_config(@name) }
|
||||
end
|
||||
|
||||
def generate_layout
|
||||
buf = ""
|
||||
|
||||
@fields.each_with_index do |field, i|
|
||||
if buf.empty?
|
||||
buf << "layout :#{field.name}, :#{field.type}, #{field.offset}"
|
||||
else
|
||||
buf << " :#{field.name}, :#{field.type}, #{field.offset}"
|
||||
end
|
||||
|
||||
if i < @fields.length - 1
|
||||
buf << ",\n"
|
||||
end
|
||||
end
|
||||
|
||||
buf
|
||||
end
|
||||
|
||||
def get_field(name)
|
||||
@fields.find { |f| name == f.name }
|
||||
end
|
||||
|
||||
def include(i)
|
||||
@includes << i
|
||||
end
|
||||
|
||||
def name(n)
|
||||
@struct_name = n
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
##
|
||||
# A field in a Struct.
|
||||
|
||||
class StructGenerator::Field
|
||||
|
||||
attr_reader :name
|
||||
attr_reader :type
|
||||
attr_reader :offset
|
||||
attr_accessor :size
|
||||
|
||||
def initialize(name, type)
|
||||
@name = name
|
||||
@type = type
|
||||
@offset = nil
|
||||
@size = nil
|
||||
end
|
||||
|
||||
def offset=(o)
|
||||
@offset = o
|
||||
end
|
||||
|
||||
def to_config(name)
|
||||
buf = []
|
||||
buf << "rbx.platform.#{name}.#{@name}.offset = #{@offset}"
|
||||
buf << "rbx.platform.#{name}.#{@name}.size = #{@size}"
|
||||
buf << "rbx.platform.#{name}.#{@name}.type = #{@type}" if @type
|
||||
buf
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -0,0 +1,137 @@
|
||||
require 'tempfile'
|
||||
|
||||
module FFI
|
||||
|
||||
# @private
|
||||
class TypesGenerator
|
||||
|
||||
##
|
||||
# Maps different C types to the C type representations we use
|
||||
|
||||
TYPE_MAP = {
|
||||
"char" => :char,
|
||||
"signed char" => :char,
|
||||
"__signed char" => :char,
|
||||
"unsigned char" => :uchar,
|
||||
|
||||
"short" => :short,
|
||||
"signed short" => :short,
|
||||
"signed short int" => :short,
|
||||
"unsigned short" => :ushort,
|
||||
"unsigned short int" => :ushort,
|
||||
|
||||
"int" => :int,
|
||||
"signed int" => :int,
|
||||
"unsigned int" => :uint,
|
||||
|
||||
"long" => :long,
|
||||
"long int" => :long,
|
||||
"signed long" => :long,
|
||||
"signed long int" => :long,
|
||||
"unsigned long" => :ulong,
|
||||
"unsigned long int" => :ulong,
|
||||
"long unsigned int" => :ulong,
|
||||
|
||||
"long long" => :long_long,
|
||||
"long long int" => :long_long,
|
||||
"signed long long" => :long_long,
|
||||
"signed long long int" => :long_long,
|
||||
"unsigned long long" => :ulong_long,
|
||||
"unsigned long long int" => :ulong_long,
|
||||
|
||||
"char *" => :string,
|
||||
"void *" => :pointer,
|
||||
}
|
||||
|
||||
def self.generate(options = {})
|
||||
typedefs = nil
|
||||
Tempfile.open 'ffi_types_generator' do |io|
|
||||
io.puts <<-C
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include <sys/types.h>
|
||||
#if !(defined(WIN32))
|
||||
#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
C
|
||||
|
||||
io.close
|
||||
cc = ENV['CC'] || 'gcc'
|
||||
cmd = "#{cc} -E -x c #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c"
|
||||
if options[:input]
|
||||
typedefs = File.read(options[:input])
|
||||
elsif options[:remote]
|
||||
typedefs = `ssh #{options[:remote]} #{cmd} - < #{io.path}`
|
||||
else
|
||||
typedefs = `#{cmd} #{io.path}`
|
||||
end
|
||||
end
|
||||
|
||||
code = []
|
||||
|
||||
typedefs.each_line do |type|
|
||||
# We only care about single line typedef
|
||||
next unless type =~ /typedef/
|
||||
# Ignore unions or structs
|
||||
next if type =~ /union|struct/
|
||||
|
||||
# strip off the starting typedef and ending ;
|
||||
type.gsub!(/^(.*typedef\s*)/, "")
|
||||
type.gsub!(/\s*;\s*$/, "")
|
||||
|
||||
parts = type.split(/\s+/)
|
||||
def_type = parts.join(" ")
|
||||
|
||||
# GCC does mapping with __attribute__ stuf, also see
|
||||
# http://hal.cs.berkeley.edu/cil/cil016.html section 16.2.7. Problem
|
||||
# with this is that the __attribute__ stuff can either occur before or
|
||||
# after the new type that is defined...
|
||||
if type =~ /__attribute__/
|
||||
if parts.last =~ /__QI__|__HI__|__SI__|__DI__|__word__/
|
||||
|
||||
# In this case, the new type is BEFORE __attribute__ we need to
|
||||
# find the final_type as the type before the part that starts with
|
||||
# __attribute__
|
||||
final_type = ""
|
||||
parts.each do |p|
|
||||
break if p =~ /__attribute__/
|
||||
final_type = p
|
||||
end
|
||||
else
|
||||
final_type = parts.pop
|
||||
end
|
||||
|
||||
def_type = case type
|
||||
when /__QI__/ then "char"
|
||||
when /__HI__/ then "short"
|
||||
when /__SI__/ then "int"
|
||||
when /__DI__/ then "long long"
|
||||
when /__word__/ then "long"
|
||||
else "int"
|
||||
end
|
||||
|
||||
def_type = "unsigned #{def_type}" if type =~ /unsigned/
|
||||
else
|
||||
final_type = parts.pop
|
||||
def_type = parts.join(" ")
|
||||
end
|
||||
|
||||
if type = TYPE_MAP[def_type]
|
||||
code << "rbx.platform.typedef.#{final_type} = #{type}"
|
||||
TYPE_MAP[final_type] = TYPE_MAP[def_type]
|
||||
else
|
||||
# Fallback to an ordinary pointer if we don't know the type
|
||||
if def_type =~ /\*/
|
||||
code << "rbx.platform.typedef.#{final_type} = pointer"
|
||||
TYPE_MAP[final_type] = :pointer
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
code.sort.join("\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,222 @@
|
||||
#
|
||||
# Copyright (C) 2008-2010 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.
|
||||
#
|
||||
|
||||
# see {file:README}
|
||||
module FFI
|
||||
|
||||
# Unless custom_typedefs already defined in the C-ext?
|
||||
unless defined?(custom_typedefs)
|
||||
# Truffleruby and JRuby don't support Ractor so far.
|
||||
# So they don't need separation between builtin and custom types.
|
||||
def self.custom_typedefs
|
||||
TypeDefs
|
||||
end
|
||||
writable_typemap = true
|
||||
end
|
||||
|
||||
class << self
|
||||
|
||||
private :custom_typedefs
|
||||
|
||||
# @param [Type, DataConverter, Symbol] old type definition used by {FFI.find_type}
|
||||
# @param [Symbol] add new type definition's name to add
|
||||
# @return [Type]
|
||||
# Add a definition type to type definitions.
|
||||
#
|
||||
# The type definition is local per Ractor.
|
||||
def typedef(old, add)
|
||||
tm = custom_typedefs
|
||||
tm[add] = find_type(old)
|
||||
end
|
||||
|
||||
# (see FFI.typedef)
|
||||
def add_typedef(old, add)
|
||||
typedef old, add
|
||||
end
|
||||
|
||||
private def __typedef(old, add)
|
||||
TypeDefs[add] = find_type(old, TypeDefs)
|
||||
end
|
||||
|
||||
# @param [Type, DataConverter, Symbol] name
|
||||
# @param [Hash] type_map if nil, {FFI::TypeDefs} is used
|
||||
# @return [Type]
|
||||
# Find a type in +type_map+ ({FFI::TypeDefs}, by default) from
|
||||
# a type objet, a type name (symbol). If +name+ is a {DataConverter},
|
||||
# a new {Type::Mapped} is created.
|
||||
def find_type(name, type_map = nil)
|
||||
if name.is_a?(Type)
|
||||
name
|
||||
|
||||
elsif type_map&.has_key?(name)
|
||||
type_map[name]
|
||||
|
||||
elsif (tm=custom_typedefs).has_key?(name)
|
||||
tm[name]
|
||||
|
||||
elsif TypeDefs.has_key?(name)
|
||||
TypeDefs[name]
|
||||
|
||||
elsif name.is_a?(DataConverter)
|
||||
# Add a typedef so next time the converter is used, it hits the cache
|
||||
tm = (type_map || custom_typedefs)
|
||||
tm[name] = Type::Mapped.new(name)
|
||||
else
|
||||
raise TypeError, "unable to resolve type '#{name}'"
|
||||
end
|
||||
end
|
||||
|
||||
# @param type +type+ is an instance of class accepted by {FFI.find_type}
|
||||
# @return [Integer]
|
||||
# Get +type+ size, in bytes.
|
||||
def type_size(type)
|
||||
find_type(type).size
|
||||
end
|
||||
end
|
||||
|
||||
# List of type definitions
|
||||
TypeDefs.merge!({
|
||||
# The C void type; only useful for function return types
|
||||
:void => Type::VOID,
|
||||
|
||||
# C boolean type
|
||||
:bool => Type::BOOL,
|
||||
|
||||
# C nul-terminated string
|
||||
:string => Type::STRING,
|
||||
|
||||
# C signed char
|
||||
:char => Type::CHAR,
|
||||
# C unsigned char
|
||||
:uchar => Type::UCHAR,
|
||||
|
||||
# C signed short
|
||||
:short => Type::SHORT,
|
||||
# C unsigned short
|
||||
:ushort => Type::USHORT,
|
||||
|
||||
# C signed int
|
||||
:int => Type::INT,
|
||||
# C unsigned int
|
||||
:uint => Type::UINT,
|
||||
|
||||
# C signed long
|
||||
:long => Type::LONG,
|
||||
|
||||
# C unsigned long
|
||||
:ulong => Type::ULONG,
|
||||
|
||||
# C signed long long integer
|
||||
:long_long => Type::LONG_LONG,
|
||||
|
||||
# C unsigned long long integer
|
||||
:ulong_long => Type::ULONG_LONG,
|
||||
|
||||
# C single precision float
|
||||
:float => Type::FLOAT,
|
||||
|
||||
# C double precision float
|
||||
:double => Type::DOUBLE,
|
||||
|
||||
# C long double
|
||||
:long_double => Type::LONGDOUBLE,
|
||||
|
||||
# Native memory address
|
||||
:pointer => Type::POINTER,
|
||||
|
||||
# 8 bit signed integer
|
||||
:int8 => Type::INT8,
|
||||
# 8 bit unsigned integer
|
||||
:uint8 => Type::UINT8,
|
||||
|
||||
# 16 bit signed integer
|
||||
:int16 => Type::INT16,
|
||||
# 16 bit unsigned integer
|
||||
:uint16 => Type::UINT16,
|
||||
|
||||
# 32 bit signed integer
|
||||
:int32 => Type::INT32,
|
||||
# 32 bit unsigned integer
|
||||
:uint32 => Type::UINT32,
|
||||
|
||||
# 64 bit signed integer
|
||||
:int64 => Type::INT64,
|
||||
# 64 bit unsigned integer
|
||||
:uint64 => Type::UINT64,
|
||||
|
||||
:buffer_in => Type::BUFFER_IN,
|
||||
:buffer_out => Type::BUFFER_OUT,
|
||||
:buffer_inout => Type::BUFFER_INOUT,
|
||||
|
||||
# Used in function prototypes to indicate the arguments are variadic
|
||||
:varargs => Type::VARARGS,
|
||||
})
|
||||
|
||||
# This will convert a pointer to a Ruby string (just like `:string`), but
|
||||
# also allow to work with the pointer itself. This is useful when you want
|
||||
# a Ruby string already containing a copy of the data, but also the pointer
|
||||
# to the data for you to do something with it, like freeing it, in case the
|
||||
# library handed the memory off to the caller (Ruby-FFI).
|
||||
#
|
||||
# It's {typedef}'d as +:strptr+.
|
||||
class StrPtrConverter
|
||||
extend DataConverter
|
||||
native_type Type::POINTER
|
||||
|
||||
# @param [Pointer] val
|
||||
# @param ctx not used
|
||||
# @return [Array(String, Pointer)]
|
||||
# Returns a [ String, Pointer ] tuple so the C memory for the string can be freed
|
||||
def self.from_native(val, ctx)
|
||||
[ val.null? ? nil : val.get_string(0), val ]
|
||||
end
|
||||
end
|
||||
|
||||
__typedef(StrPtrConverter, :strptr)
|
||||
|
||||
# Load all the platform dependent types
|
||||
begin
|
||||
File.open(File.join(Platform::CONF_DIR, 'types.conf'), "r") do |f|
|
||||
prefix = "rbx.platform.typedef."
|
||||
f.each_line { |line|
|
||||
if line.index(prefix) == 0
|
||||
new_type, orig_type = line.chomp.slice(prefix.length..-1).split(/\s*=\s*/)
|
||||
__typedef(orig_type.to_sym, new_type.to_sym)
|
||||
end
|
||||
}
|
||||
end
|
||||
__typedef :pointer, :caddr_t
|
||||
rescue Errno::ENOENT
|
||||
end
|
||||
|
||||
FFI.make_shareable(TypeDefs) unless writable_typemap
|
||||
end
|
||||
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (C) 2009 Andrea Fazzi <andrea.fazzi@alcacoop.it>
|
||||
#
|
||||
# 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/struct'
|
||||
|
||||
module FFI
|
||||
|
||||
class Union < FFI::Struct
|
||||
def self.builder
|
||||
b = StructLayoutBuilder.new
|
||||
b.union = true
|
||||
b
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,80 @@
|
||||
#
|
||||
# Copyright (C) 2008, 2009 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
|
||||
class VariadicInvoker
|
||||
def call(*args, &block)
|
||||
param_types = Array.new(@fixed)
|
||||
param_values = Array.new
|
||||
@fixed.each_with_index do |t, i|
|
||||
param_values << args[i]
|
||||
end
|
||||
i = @fixed.length
|
||||
while i < args.length
|
||||
param_types << FFI.find_type(args[i], @type_map)
|
||||
param_values << args[i + 1]
|
||||
i += 2
|
||||
end
|
||||
invoke(param_types, param_values, &block)
|
||||
end
|
||||
|
||||
#
|
||||
# Attach the invoker to module +mod+ as +mname+
|
||||
#
|
||||
def attach(mod, mname)
|
||||
invoker = self
|
||||
params = "*args"
|
||||
call = "call"
|
||||
mname = mname.to_sym
|
||||
mod.module_eval <<-code, __FILE__, __LINE__
|
||||
@ffi_functions = {} unless defined?(@ffi_functions)
|
||||
@ffi_functions[#{mname.inspect}] = invoker
|
||||
|
||||
def self.#{mname}(#{params})
|
||||
@ffi_functions[#{mname.inspect}].#{call}(#{params})
|
||||
end
|
||||
|
||||
define_method(#{mname.inspect}, &method(#{mname.inspect}))
|
||||
code
|
||||
invoker
|
||||
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
|
||||
[*@fixed, Type::Builtin::VARARGS]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,3 @@
|
||||
module FFI
|
||||
VERSION = '1.17.1'
|
||||
end
|
||||
Reference in New Issue
Block a user