ffi 1.9.23 → 1.9.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +66 -0
- data/Rakefile +1 -1
- data/ext/ffi_c/Call.c +5 -2
- data/ext/ffi_c/Function.c +8 -5
- data/ext/ffi_c/Thread.c +1 -0
- data/ext/ffi_c/extconf.rb +1 -0
- data/ext/ffi_c/libffi/.appveyor.yml +6 -4
- data/ext/ffi_c/libffi/.github/issue_template.md +10 -0
- data/ext/ffi_c/libffi/.gitignore +2 -0
- data/ext/ffi_c/libffi/.travis.yml +20 -16
- data/ext/ffi_c/libffi/.travis/ar-lib +270 -0
- data/ext/ffi_c/libffi/.travis/build.sh +34 -0
- data/ext/ffi_c/libffi/.travis/compile +351 -0
- data/ext/ffi_c/libffi/.travis/install.sh +11 -3
- data/ext/ffi_c/libffi/.travis/moxie-sim.exp +60 -0
- data/ext/ffi_c/libffi/.travis/site.exp +18 -0
- data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +352 -0
- data/ext/ffi_c/libffi/Makefile.am +4 -45
- data/ext/ffi_c/libffi/{README → README.md} +237 -230
- data/ext/ffi_c/libffi/configure.ac +10 -8
- data/ext/ffi_c/libffi/configure.host +5 -0
- data/ext/ffi_c/libffi/include/ffi.h.in +48 -26
- data/ext/ffi_c/libffi/include/ffi_common.h +2 -0
- data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +18 -16
- data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +21 -8
- data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +4 -4
- data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +9 -7
- data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +8 -5
- data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +5 -5
- data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +7 -6
- data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +99 -61
- data/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +18 -8
- data/ext/ffi_c/libffi/m4/ax_require_defined.m4 +37 -0
- data/ext/ffi_c/libffi/msvcc.sh +82 -14
- data/ext/ffi_c/libffi/src/aarch64/ffi.c +8 -31
- data/ext/ffi_c/libffi/src/closures.c +31 -1
- data/ext/ffi_c/libffi/src/ia64/ffi.c +24 -6
- data/ext/ffi_c/libffi/src/ia64/ffitarget.h +2 -1
- data/ext/ffi_c/libffi/src/ia64/unix.S +6 -1
- data/ext/ffi_c/libffi/src/mips/ffi.c +29 -12
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +7 -12
- data/ext/ffi_c/libffi/src/moxie/eabi.S +1 -1
- data/ext/ffi_c/libffi/src/moxie/ffi.c +18 -5
- data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +45 -16
- data/ext/ffi_c/libffi/src/riscv/ffi.c +445 -0
- data/ext/ffi_c/libffi/src/riscv/ffitarget.h +68 -0
- data/ext/ffi_c/libffi/src/riscv/sysv.S +214 -0
- data/ext/ffi_c/libffi/src/types.c +3 -1
- data/ext/ffi_c/libffi/src/x86/ffi.c +18 -0
- data/ext/ffi_c/libffi/src/x86/ffi64.c +15 -9
- data/ext/ffi_c/libffi/src/x86/ffitarget.h +8 -2
- data/ext/ffi_c/libffi/src/x86/ffiw64.c +30 -9
- data/ext/ffi_c/libffi/src/xtensa/sysv.S +6 -1
- data/ext/ffi_c/libffi/testsuite/Makefile.am +108 -77
- data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +195 -5
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +78 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +50 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +58 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1745 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2885 -0
- data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +743 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +46 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +14 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +3 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +57 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +1 -1
- data/lib/ffi/library.rb +2 -4
- data/lib/ffi/platform/mips64-linux/types.conf +104 -0
- data/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
- data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
- data/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
- data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
- data/lib/ffi/version.rb +1 -1
- metadata +29 -3
@@ -0,0 +1,46 @@
|
|
1
|
+
/* Area: ffi_call
|
2
|
+
Purpose: Check for proper argument alignment.
|
3
|
+
Limitations: none.
|
4
|
+
PR: none.
|
5
|
+
Originator: <twalljava@java.net> (from many_win32.c) */
|
6
|
+
|
7
|
+
/* { dg-do run } */
|
8
|
+
|
9
|
+
#include "ffitest.h"
|
10
|
+
|
11
|
+
static float ABI_ATTR align_arguments(int i1,
|
12
|
+
double f2,
|
13
|
+
int i3,
|
14
|
+
double f4)
|
15
|
+
{
|
16
|
+
return i1+f2+i3+f4;
|
17
|
+
}
|
18
|
+
|
19
|
+
int main(void)
|
20
|
+
{
|
21
|
+
ffi_cif cif;
|
22
|
+
ffi_type *args[4] = {
|
23
|
+
&ffi_type_sint,
|
24
|
+
&ffi_type_double,
|
25
|
+
&ffi_type_sint,
|
26
|
+
&ffi_type_double
|
27
|
+
};
|
28
|
+
double fa[2] = {1,2};
|
29
|
+
int ia[2] = {1,2};
|
30
|
+
void *values[4] = {&ia[0], &fa[0], &ia[1], &fa[1]};
|
31
|
+
float f, ff;
|
32
|
+
|
33
|
+
/* Initialize the cif */
|
34
|
+
CHECK(ffi_prep_cif(&cif, ABI_NUM, 4,
|
35
|
+
&ffi_type_float, args) == FFI_OK);
|
36
|
+
|
37
|
+
ff = align_arguments(ia[0], fa[0], ia[1], fa[1]);;
|
38
|
+
|
39
|
+
ffi_call(&cif, FFI_FN(align_arguments), &f, values);
|
40
|
+
|
41
|
+
if (f == ff)
|
42
|
+
printf("align arguments tests ok!\n");
|
43
|
+
else
|
44
|
+
CHECK(0);
|
45
|
+
exit(0);
|
46
|
+
}
|
@@ -19,9 +19,22 @@ libffi-init
|
|
19
19
|
|
20
20
|
global srcdir subdir
|
21
21
|
|
22
|
+
if { [string match $compiler_vendor "microsoft"] } {
|
23
|
+
# -wd4005 macro redefinition
|
24
|
+
# -wd4244 implicit conversion to type of smaller size
|
25
|
+
# -wd4305 truncation to smaller type
|
26
|
+
# -wd4477 printf %lu of uintptr_t
|
27
|
+
# -wd4312 implicit conversion to type of greater size
|
28
|
+
# -wd4311 pointer truncation to unsigned long
|
29
|
+
# -EHsc C++ Exception Handling (no SEH exceptions)
|
30
|
+
set additional_options "-wd4005 -wd4244 -wd4305 -wd4477 -wd4312 -wd4311 -EHsc";
|
31
|
+
} else {
|
32
|
+
set additional_options "";
|
33
|
+
}
|
34
|
+
|
22
35
|
set tlist [lsort [glob -nocomplain -- $srcdir/$subdir/*.{c,cc}]]
|
23
36
|
|
24
|
-
run-many-tests $tlist
|
37
|
+
run-many-tests $tlist $additional_options
|
25
38
|
|
26
39
|
dg-finish
|
27
40
|
|
@@ -64,7 +64,7 @@
|
|
64
64
|
#endif
|
65
65
|
|
66
66
|
/* MinGW kludge. */
|
67
|
-
#
|
67
|
+
#if defined(_WIN64) | defined(_WIN32)
|
68
68
|
#define PRIdLL "I64d"
|
69
69
|
#define PRIuLL "I64u"
|
70
70
|
#else
|
@@ -124,12 +124,14 @@
|
|
124
124
|
|
125
125
|
/* MSVC kludge. */
|
126
126
|
#if defined _MSC_VER
|
127
|
+
#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
|
127
128
|
#define PRIuPTR "lu"
|
128
129
|
#define PRIu8 "u"
|
129
130
|
#define PRId8 "d"
|
130
131
|
#define PRIu64 "I64u"
|
131
132
|
#define PRId64 "I64d"
|
132
133
|
#endif
|
134
|
+
#endif
|
133
135
|
|
134
136
|
#ifndef PRIuPTR
|
135
137
|
#define PRIuPTR "u"
|
@@ -32,6 +32,7 @@ static B B_fn(struct A b2, struct B b3, struct C b4)
|
|
32
32
|
result.x.a = b2.a + b3.x.a + b3.z + b4.d;
|
33
33
|
result.x.b = b2.b + b3.x.b + b3.y + b4.e;
|
34
34
|
result.y = b2.b + b3.x.b + b4.e;
|
35
|
+
result.z = 0;
|
35
36
|
|
36
37
|
printf("%d %d %d %d %d %d %d %d: %d %d %d\n", (int)b2.a, b2.b,
|
37
38
|
(int)b3.x.a, b3.x.b, b3.y, b3.z, (int)b4.d, b4.e,
|
@@ -0,0 +1,57 @@
|
|
1
|
+
/* Area: ffi_call
|
2
|
+
Purpose: Check structures.
|
3
|
+
Limitations: none.
|
4
|
+
PR: none.
|
5
|
+
Originator: Sergei Trofimovich <slyfox@gentoo.org>
|
6
|
+
|
7
|
+
The test originally discovered in ruby's bindings
|
8
|
+
for ffi in https://bugs.gentoo.org/634190 */
|
9
|
+
|
10
|
+
/* { dg-do run } */
|
11
|
+
#include "ffitest.h"
|
12
|
+
|
13
|
+
struct s {
|
14
|
+
int s32;
|
15
|
+
float f32;
|
16
|
+
signed char s8;
|
17
|
+
};
|
18
|
+
|
19
|
+
struct s make_s(void) {
|
20
|
+
struct s r;
|
21
|
+
r.s32 = 0x1234;
|
22
|
+
r.f32 = 7.0;
|
23
|
+
r.s8 = 0x78;
|
24
|
+
return r;
|
25
|
+
}
|
26
|
+
|
27
|
+
int main() {
|
28
|
+
ffi_cif cif;
|
29
|
+
struct s r;
|
30
|
+
ffi_type rtype;
|
31
|
+
ffi_type* s_fields[] = {
|
32
|
+
&ffi_type_sint,
|
33
|
+
&ffi_type_float,
|
34
|
+
&ffi_type_schar,
|
35
|
+
NULL,
|
36
|
+
};
|
37
|
+
|
38
|
+
rtype.size = 0;
|
39
|
+
rtype.alignment = 0,
|
40
|
+
rtype.type = FFI_TYPE_STRUCT,
|
41
|
+
rtype.elements = s_fields,
|
42
|
+
|
43
|
+
r.s32 = 0xbad;
|
44
|
+
r.f32 = 999.999;
|
45
|
+
r.s8 = 0x51;
|
46
|
+
|
47
|
+
// Here we emulate the following call:
|
48
|
+
//r = make_s();
|
49
|
+
|
50
|
+
CHECK(ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 0, &rtype, NULL) == FFI_OK);
|
51
|
+
ffi_call(&cif, FFI_FN(make_s), &r, NULL);
|
52
|
+
|
53
|
+
CHECK(r.s32 == 0x1234);
|
54
|
+
CHECK(r.f32 == 7.0);
|
55
|
+
CHECK(r.s8 == 0x78);
|
56
|
+
exit(0);
|
57
|
+
}
|
data/lib/ffi/library.rb
CHANGED
@@ -43,7 +43,6 @@ module FFI
|
|
43
43
|
# FFI.map_library_name 'jpeg' # -> "jpeg.dll"
|
44
44
|
def self.map_library_name(lib)
|
45
45
|
# Mangle the library name to reflect the native library naming conventions
|
46
|
-
lib = lib.to_s unless lib.kind_of?(String)
|
47
46
|
lib = Library::LIBC if lib == 'c'
|
48
47
|
|
49
48
|
if lib && File.basename(lib) == lib
|
@@ -103,7 +102,7 @@ module FFI
|
|
103
102
|
FFI::DynamicLibrary.open(nil, FFI::DynamicLibrary::RTLD_LAZY | FFI::DynamicLibrary::RTLD_LOCAL)
|
104
103
|
|
105
104
|
else
|
106
|
-
libnames = (name.is_a?(::Array) ? name : [ name ]).map { |n| [ n, FFI.map_library_name(n) ].uniq }.flatten.compact
|
105
|
+
libnames = (name.is_a?(::Array) ? name : [ name ]).map(&:to_s).map { |n| [ n, FFI.map_library_name(n) ].uniq }.flatten.compact
|
107
106
|
lib = nil
|
108
107
|
errors = {}
|
109
108
|
|
@@ -126,8 +125,7 @@ module FFI
|
|
126
125
|
retry
|
127
126
|
else
|
128
127
|
# TODO better library lookup logic
|
129
|
-
libname
|
130
|
-
unless libname.start_with?("/")
|
128
|
+
unless libname.start_with?("/") || FFI::Platform.windows?
|
131
129
|
path = ['/usr/lib/','/usr/local/lib/'].find do |pth|
|
132
130
|
File.exist?(pth + libname)
|
133
131
|
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
rbx.platform.typedef.__u_char = uchar
|
2
|
+
rbx.platform.typedef.__u_short = ushort
|
3
|
+
rbx.platform.typedef.__u_int = uint
|
4
|
+
rbx.platform.typedef.__u_long = ulong
|
5
|
+
rbx.platform.typedef.__int8_t = char
|
6
|
+
rbx.platform.typedef.__uint8_t = uchar
|
7
|
+
rbx.platform.typedef.__int16_t = short
|
8
|
+
rbx.platform.typedef.__uint16_t = ushort
|
9
|
+
rbx.platform.typedef.__int32_t = int
|
10
|
+
rbx.platform.typedef.__uint32_t = uint
|
11
|
+
rbx.platform.typedef.__int64_t = long
|
12
|
+
rbx.platform.typedef.__uint64_t = ulong
|
13
|
+
rbx.platform.typedef.__quad_t = long
|
14
|
+
rbx.platform.typedef.__u_quad_t = ulong
|
15
|
+
rbx.platform.typedef.__dev_t = ulong
|
16
|
+
rbx.platform.typedef.__uid_t = uint
|
17
|
+
rbx.platform.typedef.__gid_t = uint
|
18
|
+
rbx.platform.typedef.__ino_t = ulong
|
19
|
+
rbx.platform.typedef.__ino64_t = ulong
|
20
|
+
rbx.platform.typedef.__mode_t = uint
|
21
|
+
rbx.platform.typedef.__nlink_t = ulong
|
22
|
+
rbx.platform.typedef.__off_t = long
|
23
|
+
rbx.platform.typedef.__off64_t = long
|
24
|
+
rbx.platform.typedef.__pid_t = int
|
25
|
+
rbx.platform.typedef.__clock_t = long
|
26
|
+
rbx.platform.typedef.__rlim_t = ulong
|
27
|
+
rbx.platform.typedef.__rlim64_t = ulong
|
28
|
+
rbx.platform.typedef.__id_t = uint
|
29
|
+
rbx.platform.typedef.__time_t = long
|
30
|
+
rbx.platform.typedef.__useconds_t = uint
|
31
|
+
rbx.platform.typedef.__suseconds_t = long
|
32
|
+
rbx.platform.typedef.__daddr_t = int
|
33
|
+
rbx.platform.typedef.__key_t = int
|
34
|
+
rbx.platform.typedef.__clockid_t = int
|
35
|
+
rbx.platform.typedef.__timer_t = pointer
|
36
|
+
rbx.platform.typedef.__blksize_t = long
|
37
|
+
rbx.platform.typedef.__blkcnt_t = long
|
38
|
+
rbx.platform.typedef.__blkcnt64_t = long
|
39
|
+
rbx.platform.typedef.__fsblkcnt_t = ulong
|
40
|
+
rbx.platform.typedef.__fsblkcnt64_t = ulong
|
41
|
+
rbx.platform.typedef.__fsfilcnt_t = ulong
|
42
|
+
rbx.platform.typedef.__fsfilcnt64_t = ulong
|
43
|
+
rbx.platform.typedef.__fsword_t = long
|
44
|
+
rbx.platform.typedef.__ssize_t = long
|
45
|
+
rbx.platform.typedef.__syscall_slong_t = long
|
46
|
+
rbx.platform.typedef.__syscall_ulong_t = ulong
|
47
|
+
rbx.platform.typedef.__loff_t = long
|
48
|
+
rbx.platform.typedef.*__qaddr_t = long
|
49
|
+
rbx.platform.typedef.*__caddr_t = char
|
50
|
+
rbx.platform.typedef.__intptr_t = long
|
51
|
+
rbx.platform.typedef.__socklen_t = uint
|
52
|
+
rbx.platform.typedef.u_char = uchar
|
53
|
+
rbx.platform.typedef.u_short = ushort
|
54
|
+
rbx.platform.typedef.u_int = uint
|
55
|
+
rbx.platform.typedef.u_long = ulong
|
56
|
+
rbx.platform.typedef.quad_t = long
|
57
|
+
rbx.platform.typedef.u_quad_t = ulong
|
58
|
+
rbx.platform.typedef.loff_t = long
|
59
|
+
rbx.platform.typedef.ino_t = ulong
|
60
|
+
rbx.platform.typedef.dev_t = ulong
|
61
|
+
rbx.platform.typedef.gid_t = uint
|
62
|
+
rbx.platform.typedef.mode_t = uint
|
63
|
+
rbx.platform.typedef.nlink_t = ulong
|
64
|
+
rbx.platform.typedef.uid_t = uint
|
65
|
+
rbx.platform.typedef.off_t = long
|
66
|
+
rbx.platform.typedef.pid_t = int
|
67
|
+
rbx.platform.typedef.id_t = uint
|
68
|
+
rbx.platform.typedef.ssize_t = long
|
69
|
+
rbx.platform.typedef.daddr_t = int
|
70
|
+
rbx.platform.typedef.key_t = int
|
71
|
+
rbx.platform.typedef.clock_t = long
|
72
|
+
rbx.platform.typedef.time_t = long
|
73
|
+
rbx.platform.typedef.clockid_t = int
|
74
|
+
rbx.platform.typedef.timer_t = pointer
|
75
|
+
rbx.platform.typedef.size_t = ulong
|
76
|
+
rbx.platform.typedef.ulong = ulong
|
77
|
+
rbx.platform.typedef.ushort = ushort
|
78
|
+
rbx.platform.typedef.uint = uint
|
79
|
+
rbx.platform.typedef.int8_t = char
|
80
|
+
rbx.platform.typedef.int16_t = short
|
81
|
+
rbx.platform.typedef.int32_t = int
|
82
|
+
rbx.platform.typedef.int64_t = long_long
|
83
|
+
rbx.platform.typedef.u_int8_t = uchar
|
84
|
+
rbx.platform.typedef.u_int16_t = ushort
|
85
|
+
rbx.platform.typedef.u_int32_t = uint
|
86
|
+
rbx.platform.typedef.u_int64_t = ulong_long
|
87
|
+
rbx.platform.typedef.register_t = long
|
88
|
+
rbx.platform.typedef.__sig_atomic_t = int
|
89
|
+
rbx.platform.typedef.suseconds_t = long
|
90
|
+
rbx.platform.typedef.__fd_mask = long
|
91
|
+
rbx.platform.typedef.fd_mask = long
|
92
|
+
rbx.platform.typedef.blksize_t = long
|
93
|
+
rbx.platform.typedef.blkcnt_t = long
|
94
|
+
rbx.platform.typedef.fsblkcnt_t = ulong
|
95
|
+
rbx.platform.typedef.fsfilcnt_t = ulong
|
96
|
+
rbx.platform.typedef.pthread_t = ulong
|
97
|
+
rbx.platform.typedef.pthread_key_t = uint
|
98
|
+
rbx.platform.typedef.pthread_once_t = int
|
99
|
+
rbx.platform.typedef.socklen_t = uint
|
100
|
+
rbx.platform.typedef.sa_family_t = ushort
|
101
|
+
rbx.platform.typedef.rlim_t = ulong
|
102
|
+
rbx.platform.typedef.__rlimit_resource_t = int
|
103
|
+
rbx.platform.typedef.__rusage_who_t = int
|
104
|
+
rbx.platform.typedef.__priority_which_t = int
|
@@ -0,0 +1,102 @@
|
|
1
|
+
rbx.platform.typedef.__u_char = uchar
|
2
|
+
rbx.platform.typedef.__u_short = ushort
|
3
|
+
rbx.platform.typedef.__u_int = uint
|
4
|
+
rbx.platform.typedef.__u_long = ulong
|
5
|
+
rbx.platform.typedef.__int8_t = char
|
6
|
+
rbx.platform.typedef.__uint8_t = uchar
|
7
|
+
rbx.platform.typedef.__int16_t = short
|
8
|
+
rbx.platform.typedef.__uint16_t = ushort
|
9
|
+
rbx.platform.typedef.__int32_t = int
|
10
|
+
rbx.platform.typedef.__uint32_t = uint
|
11
|
+
rbx.platform.typedef.__int64_t = long_long
|
12
|
+
rbx.platform.typedef.__uint64_t = ulong_long
|
13
|
+
rbx.platform.typedef.__quad_t = long_long
|
14
|
+
rbx.platform.typedef.__u_quad_t = ulong_long
|
15
|
+
rbx.platform.typedef.__dev_t = ulong_long
|
16
|
+
rbx.platform.typedef.__uid_t = uint
|
17
|
+
rbx.platform.typedef.__gid_t = uint
|
18
|
+
rbx.platform.typedef.__ino_t = ulong
|
19
|
+
rbx.platform.typedef.__ino64_t = ulong_long
|
20
|
+
rbx.platform.typedef.__mode_t = uint
|
21
|
+
rbx.platform.typedef.__nlink_t = uint
|
22
|
+
rbx.platform.typedef.__off_t = long
|
23
|
+
rbx.platform.typedef.__off64_t = long_long
|
24
|
+
rbx.platform.typedef.__pid_t = int
|
25
|
+
rbx.platform.typedef.__clock_t = long
|
26
|
+
rbx.platform.typedef.__rlim_t = ulong
|
27
|
+
rbx.platform.typedef.__rlim64_t = ulong_long
|
28
|
+
rbx.platform.typedef.__id_t = uint
|
29
|
+
rbx.platform.typedef.__time_t = long
|
30
|
+
rbx.platform.typedef.__useconds_t = uint
|
31
|
+
rbx.platform.typedef.__suseconds_t = long
|
32
|
+
rbx.platform.typedef.__daddr_t = int
|
33
|
+
rbx.platform.typedef.__swblk_t = long
|
34
|
+
rbx.platform.typedef.__key_t = int
|
35
|
+
rbx.platform.typedef.__clockid_t = int
|
36
|
+
rbx.platform.typedef.__timer_t = pointer
|
37
|
+
rbx.platform.typedef.__blksize_t = long
|
38
|
+
rbx.platform.typedef.__blkcnt_t = long
|
39
|
+
rbx.platform.typedef.__blkcnt64_t = long_long
|
40
|
+
rbx.platform.typedef.__fsblkcnt_t = ulong
|
41
|
+
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
42
|
+
rbx.platform.typedef.__fsfilcnt_t = ulong
|
43
|
+
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
44
|
+
rbx.platform.typedef.__ssize_t = int
|
45
|
+
rbx.platform.typedef.__loff_t = long_long
|
46
|
+
rbx.platform.typedef.*__qaddr_t = long_long
|
47
|
+
rbx.platform.typedef.*__caddr_t = char
|
48
|
+
rbx.platform.typedef.__intptr_t = int
|
49
|
+
rbx.platform.typedef.__socklen_t = uint
|
50
|
+
rbx.platform.typedef.u_char = uchar
|
51
|
+
rbx.platform.typedef.u_short = ushort
|
52
|
+
rbx.platform.typedef.u_int = uint
|
53
|
+
rbx.platform.typedef.u_long = ulong
|
54
|
+
rbx.platform.typedef.quad_t = long_long
|
55
|
+
rbx.platform.typedef.u_quad_t = ulong_long
|
56
|
+
rbx.platform.typedef.loff_t = long_long
|
57
|
+
rbx.platform.typedef.ino_t = ulong_long
|
58
|
+
rbx.platform.typedef.dev_t = ulong_long
|
59
|
+
rbx.platform.typedef.gid_t = uint
|
60
|
+
rbx.platform.typedef.mode_t = uint
|
61
|
+
rbx.platform.typedef.nlink_t = uint
|
62
|
+
rbx.platform.typedef.uid_t = uint
|
63
|
+
rbx.platform.typedef.off_t = long_long
|
64
|
+
rbx.platform.typedef.pid_t = int
|
65
|
+
rbx.platform.typedef.id_t = uint
|
66
|
+
rbx.platform.typedef.ssize_t = int
|
67
|
+
rbx.platform.typedef.daddr_t = int
|
68
|
+
rbx.platform.typedef.key_t = int
|
69
|
+
rbx.platform.typedef.clock_t = long
|
70
|
+
rbx.platform.typedef.time_t = long
|
71
|
+
rbx.platform.typedef.clockid_t = int
|
72
|
+
rbx.platform.typedef.timer_t = pointer
|
73
|
+
rbx.platform.typedef.size_t = uint
|
74
|
+
rbx.platform.typedef.ulong = ulong
|
75
|
+
rbx.platform.typedef.ushort = ushort
|
76
|
+
rbx.platform.typedef.uint = uint
|
77
|
+
rbx.platform.typedef.int8_t = char
|
78
|
+
rbx.platform.typedef.int16_t = short
|
79
|
+
rbx.platform.typedef.int32_t = int
|
80
|
+
rbx.platform.typedef.int64_t = long_long
|
81
|
+
rbx.platform.typedef.u_int8_t = uchar
|
82
|
+
rbx.platform.typedef.u_int16_t = ushort
|
83
|
+
rbx.platform.typedef.u_int32_t = uint
|
84
|
+
rbx.platform.typedef.u_int64_t = ulong_long
|
85
|
+
rbx.platform.typedef.register_t = long
|
86
|
+
rbx.platform.typedef.__sig_atomic_t = int
|
87
|
+
rbx.platform.typedef.suseconds_t = long
|
88
|
+
rbx.platform.typedef.__fd_mask = long
|
89
|
+
rbx.platform.typedef.fd_mask = long
|
90
|
+
rbx.platform.typedef.blksize_t = long
|
91
|
+
rbx.platform.typedef.blkcnt_t = long_long
|
92
|
+
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
93
|
+
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
94
|
+
rbx.platform.typedef.pthread_t = ulong
|
95
|
+
rbx.platform.typedef.pthread_key_t = uint
|
96
|
+
rbx.platform.typedef.pthread_once_t = int
|
97
|
+
rbx.platform.typedef.socklen_t = uint
|
98
|
+
rbx.platform.typedef.sa_family_t = ushort
|
99
|
+
rbx.platform.typedef.rlim_t = ulong_long
|
100
|
+
rbx.platform.typedef.__rlimit_resource_t = int
|
101
|
+
rbx.platform.typedef.__rusage_who_t = int
|
102
|
+
rbx.platform.typedef.__priority_which_t = int
|
@@ -0,0 +1,102 @@
|
|
1
|
+
rbx.platform.typedef.__u_char = uchar
|
2
|
+
rbx.platform.typedef.__u_short = ushort
|
3
|
+
rbx.platform.typedef.__u_int = uint
|
4
|
+
rbx.platform.typedef.__u_long = ulong
|
5
|
+
rbx.platform.typedef.__int8_t = char
|
6
|
+
rbx.platform.typedef.__uint8_t = uchar
|
7
|
+
rbx.platform.typedef.__int16_t = short
|
8
|
+
rbx.platform.typedef.__uint16_t = ushort
|
9
|
+
rbx.platform.typedef.__int32_t = int
|
10
|
+
rbx.platform.typedef.__uint32_t = uint
|
11
|
+
rbx.platform.typedef.__int64_t = long_long
|
12
|
+
rbx.platform.typedef.__uint64_t = ulong_long
|
13
|
+
rbx.platform.typedef.__quad_t = long_long
|
14
|
+
rbx.platform.typedef.__u_quad_t = ulong_long
|
15
|
+
rbx.platform.typedef.__dev_t = ulong_long
|
16
|
+
rbx.platform.typedef.__uid_t = uint
|
17
|
+
rbx.platform.typedef.__gid_t = uint
|
18
|
+
rbx.platform.typedef.__ino_t = ulong
|
19
|
+
rbx.platform.typedef.__ino64_t = ulong_long
|
20
|
+
rbx.platform.typedef.__mode_t = uint
|
21
|
+
rbx.platform.typedef.__nlink_t = uint
|
22
|
+
rbx.platform.typedef.__off_t = long
|
23
|
+
rbx.platform.typedef.__off64_t = long_long
|
24
|
+
rbx.platform.typedef.__pid_t = int
|
25
|
+
rbx.platform.typedef.__clock_t = long
|
26
|
+
rbx.platform.typedef.__rlim_t = ulong
|
27
|
+
rbx.platform.typedef.__rlim64_t = ulong_long
|
28
|
+
rbx.platform.typedef.__id_t = uint
|
29
|
+
rbx.platform.typedef.__time_t = long
|
30
|
+
rbx.platform.typedef.__useconds_t = uint
|
31
|
+
rbx.platform.typedef.__suseconds_t = long
|
32
|
+
rbx.platform.typedef.__daddr_t = int
|
33
|
+
rbx.platform.typedef.__swblk_t = long
|
34
|
+
rbx.platform.typedef.__key_t = int
|
35
|
+
rbx.platform.typedef.__clockid_t = int
|
36
|
+
rbx.platform.typedef.__timer_t = pointer
|
37
|
+
rbx.platform.typedef.__blksize_t = long
|
38
|
+
rbx.platform.typedef.__blkcnt_t = long
|
39
|
+
rbx.platform.typedef.__blkcnt64_t = long_long
|
40
|
+
rbx.platform.typedef.__fsblkcnt_t = ulong
|
41
|
+
rbx.platform.typedef.__fsblkcnt64_t = ulong_long
|
42
|
+
rbx.platform.typedef.__fsfilcnt_t = ulong
|
43
|
+
rbx.platform.typedef.__fsfilcnt64_t = ulong_long
|
44
|
+
rbx.platform.typedef.__ssize_t = int
|
45
|
+
rbx.platform.typedef.__loff_t = long_long
|
46
|
+
rbx.platform.typedef.*__qaddr_t = long_long
|
47
|
+
rbx.platform.typedef.*__caddr_t = char
|
48
|
+
rbx.platform.typedef.__intptr_t = int
|
49
|
+
rbx.platform.typedef.__socklen_t = uint
|
50
|
+
rbx.platform.typedef.u_char = uchar
|
51
|
+
rbx.platform.typedef.u_short = ushort
|
52
|
+
rbx.platform.typedef.u_int = uint
|
53
|
+
rbx.platform.typedef.u_long = ulong
|
54
|
+
rbx.platform.typedef.quad_t = long_long
|
55
|
+
rbx.platform.typedef.u_quad_t = ulong_long
|
56
|
+
rbx.platform.typedef.loff_t = long_long
|
57
|
+
rbx.platform.typedef.ino_t = ulong_long
|
58
|
+
rbx.platform.typedef.dev_t = ulong_long
|
59
|
+
rbx.platform.typedef.gid_t = uint
|
60
|
+
rbx.platform.typedef.mode_t = uint
|
61
|
+
rbx.platform.typedef.nlink_t = uint
|
62
|
+
rbx.platform.typedef.uid_t = uint
|
63
|
+
rbx.platform.typedef.off_t = long_long
|
64
|
+
rbx.platform.typedef.pid_t = int
|
65
|
+
rbx.platform.typedef.id_t = uint
|
66
|
+
rbx.platform.typedef.ssize_t = int
|
67
|
+
rbx.platform.typedef.daddr_t = int
|
68
|
+
rbx.platform.typedef.key_t = int
|
69
|
+
rbx.platform.typedef.clock_t = long
|
70
|
+
rbx.platform.typedef.time_t = long
|
71
|
+
rbx.platform.typedef.clockid_t = int
|
72
|
+
rbx.platform.typedef.timer_t = pointer
|
73
|
+
rbx.platform.typedef.size_t = uint
|
74
|
+
rbx.platform.typedef.ulong = ulong
|
75
|
+
rbx.platform.typedef.ushort = ushort
|
76
|
+
rbx.platform.typedef.uint = uint
|
77
|
+
rbx.platform.typedef.int8_t = char
|
78
|
+
rbx.platform.typedef.int16_t = short
|
79
|
+
rbx.platform.typedef.int32_t = int
|
80
|
+
rbx.platform.typedef.int64_t = long_long
|
81
|
+
rbx.platform.typedef.u_int8_t = uchar
|
82
|
+
rbx.platform.typedef.u_int16_t = ushort
|
83
|
+
rbx.platform.typedef.u_int32_t = uint
|
84
|
+
rbx.platform.typedef.u_int64_t = ulong_long
|
85
|
+
rbx.platform.typedef.register_t = long
|
86
|
+
rbx.platform.typedef.__sig_atomic_t = int
|
87
|
+
rbx.platform.typedef.suseconds_t = long
|
88
|
+
rbx.platform.typedef.__fd_mask = long
|
89
|
+
rbx.platform.typedef.fd_mask = long
|
90
|
+
rbx.platform.typedef.blksize_t = long
|
91
|
+
rbx.platform.typedef.blkcnt_t = long_long
|
92
|
+
rbx.platform.typedef.fsblkcnt_t = ulong_long
|
93
|
+
rbx.platform.typedef.fsfilcnt_t = ulong_long
|
94
|
+
rbx.platform.typedef.pthread_t = ulong
|
95
|
+
rbx.platform.typedef.pthread_key_t = uint
|
96
|
+
rbx.platform.typedef.pthread_once_t = int
|
97
|
+
rbx.platform.typedef.socklen_t = uint
|
98
|
+
rbx.platform.typedef.sa_family_t = ushort
|
99
|
+
rbx.platform.typedef.rlim_t = ulong_long
|
100
|
+
rbx.platform.typedef.__rlimit_resource_t = int
|
101
|
+
rbx.platform.typedef.__rusage_who_t = int
|
102
|
+
rbx.platform.typedef.__priority_which_t = int
|