Home
last modified time | relevance | path

Searched refs:FFI (Results 1 – 25 of 83) sorted by relevance

1234

/PHP-7.4/ext/ffi/tests/
H A D034.phpt2 FFI 034: FFI::typeof(), FFI::sizeof(), FFI::alignof()
9 $p1 = FFI::new("uint8_t[2]");
10 $p2 = FFI::new("uint16_t[2]");
11 $p3 = FFI::new("uint32_t[2]");
12 var_dump(FFI::sizeof($p1), FFI::sizeof($p2), FFI::sizeof($p3));
13 var_dump(FFI::alignof($p1), FFI::alignof($p2), FFI::alignof($p3));
14 var_dump(FFI::sizeof(FFI::typeof($p1)), FFI::sizeof(FFI::typeof($p2)), FFI::sizeof(FFI::typeof($p3)…
15 var_dump(FFI::alignof(FFI::typeof($p1)), FFI::alignof(FFI::typeof($p2)), FFI::alignof(FFI::typeof($…
H A D033.phpt2 FFI 033: FFI::new(), FFI::free(), FFI::type(), FFI::typeof(), FFI::arrayType()
9 $p1 = FFI::new("uint8_t[2]");
13 $t1 = FFI::typeof($p1);
16 $p4 = FFI::new($t1);
19 $t2 = FFI::type("uint16_t[2]");
21 $p4 = FFI::new($t2);
24 $t2 = FFI::type("uint32_t");
26 $t3 = FFI::arrayType($t2, [2, 2]);
30 object(FFI\CData:uint8_t[2])#%d (2) {
42 object(FFI\CType:uint8_t[2])#%d (0) {
[all …]
H A D041.phpt2 FFI 041: Type memory management
11 return FFI::new(FFI::type($str));
13 $type = FFI::type($str);
14 return FFI::new($type);
24 return FFI::typeof(FFI::new($str));
26 $data = FFI::new($str);
37 return FFI::cast(FFI::type($str), FFI::new($str));
39 $type = FFI::type($str);
40 return FFI::cast($type, FFI::new($str));
50 return FFI::arrayType(FFI::type($str), [2]);
[all …]
H A D040.phpt2 FFI 040: Support for scalar types
14 $x = FFI::new("int");
17 var_dump(FFI::typeof($x));
19 $p = FFI::addr($x);
23 var_dump(FFI::sizeof($x));
24 var_dump(FFI::alignof($x));
25 FFI::memset($x, ord("a"), 4);
26 var_dump(FFI::string($x, 4));
30 $y = FFI::new("int[2]");
35 $p = FFI::addr($y[0]);
[all …]
H A D045.phpt2 FFI 045: FFI::isNull()
9 var_dump(FFI::isNull(FFI::new("int*")));
10 $i = FFI::new("int");
11 var_dump(FFI::isNull(FFI::addr($i)));
13 var_dump(FFI::isNull(null));
18 var_dump(FFI::isNull(FFI::new("int[0]")));
27 Warning: FFI::isNull() expects parameter 1 to be FFI\CData, null given in %s045.php on line %d
29 FFI\Exception: Cannot instantiate FFI\CData of zero size
H A D009.phpt2 FFI 009: memcpy(), memcmp(), memset() and sizeof()
9 $a = FFI::new("int[3]");
12 $b = FFI::new("int[4]");
13 var_dump(FFI::memcmp($b, $a, FFI::sizeof($a)));
14 FFI::memcpy($b, $a, FFI::sizeof($a));
16 var_dump(FFI::memcmp($b, $a, FFI::sizeof($a)));
17 FFI::memset($a, -1, FFI::sizeof($a));
22 object(FFI\CData:int32_t[4])#%d (4) {
33 object(FFI\CData:int32_t[3])#%d (3) {
H A D027.phpt2 FFI 027: Incomplete and variable length arrays
10 $p = FFI::new("int[*]");
16 FFI::cdef("static int (*foo)[*];");
22 FFI::cdef("typedef int foo[*];");
28 FFI::cdef("static void foo(int[*][*]);");
34 var_dump(FFI::sizeof(FFI::new("int[0]")));
39 var_dump(FFI::sizeof(FFI::new("int[]")));
44 var_dump(FFI::sizeof(FFI::cast("int[]", FFI::new("int[2]"))));
55 $f = FFI::cdef("typedef int(*foo)[];");
67 $f = FFI::cdef("typedef int foo[];");
[all …]
H A D023.phpt2 FFI 023: GCC struct extensions
10 var_dump(FFI::sizeof(FFI::new("struct {}")));
14 var_dump(FFI::sizeof(FFI::new("struct {int a}")));
15 var_dump(FFI::sizeof(FFI::new("struct {int a; int b}")));
19 FFI\Exception: Cannot instantiate FFI\CData of zero size
H A D014.phpt2 FFI 014: Size of nested types
9 var_dump(FFI::sizeof(FFI::new("uint32_t[2]")));
10 var_dump(FFI::sizeof(FFI::new("uint32_t([2])")));
11 var_dump(FFI::sizeof(FFI::new("uint32_t([2])[2]")));
H A D036.phpt2 FFI 036: Type memory management
9 $type = FFI::type("int*");
13 //$buf = FFI::new("int*[1]"); /* this loses type and crash */
14 $buf = FFI::new(FFI::arrayType($type, [1]));
20 $int = FFI::new("int");
22 var_dump(foo(FFI::addr($int)));
25 object(FFI\CData:int32_t*)#%d (1) {
H A D013.phpt2 FFI 013: Declaration priorities and constrains
9 $a = FFI::new("int[1][2][3]");
15 var_dump(FFI::new("void"));
21 var_dump(FFI::new("void[1]"));
26 FFI::cdef("static int foo(int)[5];");
32 FFI::cdef("static int foo[5](int);");
38 FFI::cdef("static int foo(int)(int);");
44 FFI::cdef("typedef int foo[2][];");
50 FFI::cdef("typedef int foo[][2];");
60 FFI\ParserException: 'void' type is not allowed at line 1
[all …]
H A D006.phpt2 FFI 006: Pointer assignment
9 $v = FFI::new("int*[2]");
10 $v[1] = FFI::new("int[1]", false);
13 FFI::free($v[1]);
17 object(FFI\CData:int32_t*[2])#%d (2) {
21 object(FFI\CData:int32_t*)#%d (1) {
26 object(FFI\CData:int32_t*[2])#%d (2) {
H A D044.phpt2 FFI 044: mode attribute
9 $ffi = FFI::cdef("
21 var_dump(FFI::sizeof($ffi->new("a")));
22 var_dump(FFI::sizeof($ffi->new("ua")));
23 var_dump(FFI::sizeof($ffi->new("b")));
24 var_dump(FFI::sizeof($ffi->new("ub")));
25 var_dump(FFI::sizeof($ffi->new("c")));
26 var_dump(FFI::sizeof($ffi->new("uc")));
27 var_dump(FFI::sizeof($ffi->new("d")));
29 var_dump(FFI::sizeof($ffi->new("e")));
[all …]
H A D010.phpt2 FFI 010: string()
9 $a = FFI::new("int[3]");
10 FFI::memset($a, ord("a"), FFI::sizeof($a));
11 var_dump(FFI::string($a, FFI::sizeof($a)));
H A D035.phpt2 FFI 035: FFI::new() not-owned
9 $p = FFI::new("uint16_t[2]", false);
12 FFI::free($p);
20 object(FFI\CData:uint16_t[2])#%d (2) {
26 object(FFI\CData:uint16_t[2])#%d (0) {
28 FFI\Exception: Use after free()
H A D020.phpt2 FFI 020: read-only
10 $p = FFI::new("struct {int x; const int y;}");
18 $p = FFI::new("struct {const int x; int y;}");
26 $p = FFI::new("const struct {int x; int y;}");
33 $p = FFI::new("const int[10]");
40 $p = FFI::new("const int * [1]");
47 $p = FFI::new("int * const [1]");
54 $f = FFI::cdef("typedef int * const t[1];");
66 FFI\Exception: Attempt to assign read-only location
67 FFI\Exception: Attempt to assign read-only location
[all …]
H A D005.phpt2 FFI 005: Array assignment
9 $m = FFI::new("int[2][2]");
10 $v = FFI::new("int[2]");
16 object(FFI\CData:int32_t[2][2])#%d (2) {
18 object(FFI\CData:int32_t[2])#%d (2) {
25 object(FFI\CData:int32_t[2])#%d (2) {
H A D007.phpt2 FFI 007: Pointer comparison
9 $v = FFI::new("int*[3]");
10 $v[0] = FFI::new("int[1]", false);
11 $v[1] = FFI::new("int[1]", false);
16 FFI::free($v[0]);
17 FFI::free($v[1]);
H A D025.phpt2 FFI 025: direct work with primitive types
9 $x = FFI::new("int");
17 $x = FFI::new("char");
26 object(FFI\CData:int32_t)#%d (1) {
30 object(FFI\CData:int32_t)#%d (1) {
36 object(FFI\CData:char)#%d (1) {
40 object(FFI\CData:char)#%d (1) {
H A D004.phpt2 FFI 004: Enum declarations
9 $ffi = FFI::cdef(<<<EOF
55 object(FFI\CData:enum _a)#%d (1) {
59 object(FFI\CData:enum _b)#%d (1) {
63 object(FFI\CData:enum _c)#%d (1) {
67 object(FFI\CData:enum _d)#%d (1) {
71 object(FFI\CData:int32_t[1])#%d (1) {
75 object(FFI\CData:int32_t[1])#%d (1) {
79 object(FFI\CData:int32_t[2])#%d (2) {
85 FFI\ParserException: incomplete 'enum _e' at line 1
[all …]
H A D028.phpt2 FFI 028: Incomplete arrays inside structure
10 FFI::cdef("struct _x {int a; int b[0];};");
16 FFI::cdef("struct _x {int a; int b[];};");
22 FFI::cdef("struct _x {int a[0]; int b;};");
28 FFI::cdef("struct _x {int a[]; int b;};");
34 FFI::cdef("struct _x { struct {int a; int b[];}; int c;};");
40 FFI::cdef("union _x {int a; int b[];};");
50 FFI\ParserException: flexible array member not at end of struct at line 1
51 FFI\ParserException: flexible array member not at end of struct at line 1
52 FFI\ParserException: flexible array member in union at line 1
H A D037.phpt2 FFI 037: Type memory management
10 $buf = FFI::new("int*[1]");
16 $int = FFI::new("int");
18 var_dump(foo(FFI::addr($int)));
21 object(FFI\CData:int32_t*)#%d (1) {
H A D017.phpt2 FFI 017: Structure constraints & tags cleanup
10 var_dump(FFI::new("struct X {void x();}"));
15 var_dump(FFI::new("struct X {struct X x;}"));
20 var_dump(FFI::new("struct X {struct X *ptr;}"));
27 FFI\ParserException: 'function' type is not allowed at line 1
28 FFI\ParserException: struct/union can't contain an instance of itself at line 1
29 object(FFI\CData:struct X)#%d (1) {
H A D015.phpt2 FFI 015: Incomplete type usage
10 FFI::cdef("struct DIR; static struct DIR dir;");
16 FFI::cdef("struct DIR; static struct DIR *ptr;");
22 FFI::cdef("struct DIR; typedef struct DIR DIR; static DIR dir;");
28 FFI::cdef("struct DIR; typedef struct DIR DIR; static DIR *ptr;");
34 FFI::cdef("struct DIR; static struct DIR foo();");
40 FFI::cdef("struct DIR; static struct DIR* foo();");
46 FFI::cdef("struct DIR; static void foo(struct DIR);");
52 FFI::cdef("struct DIR; static void foo(struct DIR*);");
60 FFI\ParserException: incomplete 'struct DIR' at line 1
[all …]
H A D030.phpt2 FFI 030: bool type
9 var_dump(FFI::sizeof(FFI::new("bool[2]")));
10 $p = FFI::new("bool[2]");
18 object(FFI\CData:bool[2])#%d (2) {

Completed in 32 milliseconds

1234