033.phpt 968 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. FFI 033: FFI::new(), FFI::free(), FFI::type(), FFI::typeof(), FFI::arrayType()
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $p1 = FFI::new("uint8_t[2]");
  10. $p2 = FFI::new("uint16_t[2]", true, true);
  11. var_dump($p1, $p2);
  12. $t1 = FFI::typeof($p1);
  13. var_dump($t1);
  14. $p4 = FFI::new($t1);
  15. var_dump($p4);
  16. $t2 = FFI::type("uint16_t[2]");
  17. var_dump($t2);
  18. $p4 = FFI::new($t2);
  19. var_dump($p4);
  20. $t2 = FFI::type("uint32_t");
  21. var_dump($t2);
  22. $t3 = FFI::arrayType($t2, [2, 2]);
  23. var_dump($t3);
  24. ?>
  25. --EXPECTF--
  26. object(FFI\CData:uint8_t[2])#%d (2) {
  27. [0]=>
  28. int(0)
  29. [1]=>
  30. int(0)
  31. }
  32. object(FFI\CData:uint16_t[2])#%d (2) {
  33. [0]=>
  34. int(0)
  35. [1]=>
  36. int(0)
  37. }
  38. object(FFI\CType:uint8_t[2])#%d (0) {
  39. }
  40. object(FFI\CData:uint8_t[2])#%d (2) {
  41. [0]=>
  42. int(0)
  43. [1]=>
  44. int(0)
  45. }
  46. object(FFI\CType:uint16_t[2])#%d (0) {
  47. }
  48. object(FFI\CData:uint16_t[2])#%d (2) {
  49. [0]=>
  50. int(0)
  51. [1]=>
  52. int(0)
  53. }
  54. object(FFI\CType:uint32_t)#%d (0) {
  55. }
  56. object(FFI\CType:uint32_t[2][2])#%d (0) {
  57. }