This commit is contained in:
@@ -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