NativeSocket.hx 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package cpp;
  2. import sys.net.Socket;
  3. @:buildXml('<include name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
  4. extern class NativeSocket
  5. {
  6. @:extern @:native("_hx_std_socket_init")
  7. public static function socket_init() : Void { }
  8. @:extern @:native("_hx_std_socket_new")
  9. public static function socket_new(udp:Bool) : Dynamic return null;
  10. @:extern @:native("_hx_std_socket_new")
  11. public static function socket_new_ip(udp:Bool,ipv6:Bool) : Dynamic return null;
  12. @:extern @:native("_hx_std_socket_close")
  13. public static function socket_close(handle:Dynamic) : Void { }
  14. @:extern @:native("_hx_std_socket_bind")
  15. public static function socket_bind(o:Dynamic,host:Int,port:Int) : Void { }
  16. @:extern @:native("_hx_std_socket_bind_ipv6")
  17. public static function socket_bind_ipv6(o:Dynamic,host:haxe.io.BytesData,port:Int) : Void { }
  18. @:extern @:native("_hx_std_socket_send_char")
  19. public static function socket_send_char(o:Dynamic,c:Int) : Void { }
  20. @:extern @:native("_hx_std_socket_send")
  21. public static function socket_send(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int) : Int return 0;
  22. @:extern @:native("_hx_std_socket_recv")
  23. public static function socket_recv(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int) : Int return 0;
  24. @:extern @:native("_hx_std_socket_recv_char")
  25. public static function socket_recv_char(o:Dynamic) : Int return 0;
  26. @:extern @:native("_hx_std_socket_write")
  27. public static function socket_write(o:Dynamic,buf:haxe.io.BytesData) : Void { }
  28. @:extern @:native("_hx_std_socket_read")
  29. public static function socket_read(o:Dynamic) : haxe.io.BytesData return null;
  30. @:extern @:native("_hx_std_host_resolve_ipv6")
  31. public static function host_resolve_ipv6(host:String) : haxe.io.BytesData return null;
  32. @:extern @:native("_hx_std_host_resolve")
  33. public static function host_resolve(host:String) : Int return 0;
  34. @:extern @:native("_hx_std_host_to_string")
  35. public static function host_to_string(ip:Int) : String return null;
  36. @:extern @:native("_hx_std_host_to_string_ipv6")
  37. public static function host_to_string_ipv6(ipv6:haxe.io.BytesData) : String return null;
  38. @:extern @:native("_hx_std_host_reverse")
  39. public static function host_reverse(host:Int) : String return null;
  40. @:extern @:native("_hx_std_host_reverse_ipv6")
  41. public static function host_reverse_ipv6(ipv6:haxe.io.BytesData) : String return null;
  42. @:extern @:native("_hx_std_host_local")
  43. public static function host_local() : String return null;
  44. inline public static function host_local_ipv6() : String return "::1";
  45. @:extern @:native("_hx_std_socket_connect")
  46. public static function socket_connect(o:Dynamic,host:Int,port:Int) : Void { }
  47. @:extern @:native("_hx_std_socket_connect_ipv6")
  48. public static function socket_connect_ipv6(o:Dynamic,host:haxe.io.BytesData,port:Int) : Void { }
  49. @:extern @:native("_hx_std_socket_listen")
  50. public static function socket_listen(o:Dynamic,n:Int) : Void { }
  51. @:extern @:native("_hx_std_socket_select")
  52. public static function socket_select(rs:Array<Dynamic>,ws:Array<Dynamic>,es:Array<Dynamic>,timeout:Dynamic) : Array<Dynamic> return null;
  53. @:extern @:native("_hx_std_socket_fast_select")
  54. public static function socket_fast_select(rs:Array<Dynamic>,ws:Array<Dynamic>,es:Array<Dynamic>,timeout:Dynamic) : Void { }
  55. @:extern @:native("_hx_std_socket_accept")
  56. public static function socket_accept(o:Dynamic) : Dynamic return null;
  57. @:extern @:native("_hx_std_socket_peer")
  58. public static function socket_peer(o:Dynamic) : Array<Int> return null;
  59. @:extern @:native("_hx_std_socket_host")
  60. public static function socket_host(o:Dynamic) : Array<Int> return null;
  61. @:extern @:native("_hx_std_socket_set_timeout")
  62. public static function socket_set_timeout(o:Dynamic,t:Dynamic) : Void { }
  63. @:extern @:native("_hx_std_socket_shutdown")
  64. public static function socket_shutdown(o:Dynamic,r:Bool,w:Bool) : Void { }
  65. @:extern @:native("_hx_std_socket_set_blocking")
  66. public static function socket_set_blocking(o:Dynamic,b:Bool) : Void { }
  67. @:extern @:native("_hx_std_socket_set_fast_send")
  68. public static function socket_set_fast_send(o:Dynamic,b:Bool) : Void { }
  69. @:extern @:native("_hx_std_socket_poll_alloc")
  70. public static function socket_poll_alloc(nsocks:Int) : Dynamic return null;
  71. @:extern @:native("_hx_std_socket_poll_prepare")
  72. public static function socket_poll_prepare(pdata:Dynamic,rsocks:Array<Socket>,wsocks:Array<Socket>) : Array< Array<Int> > return null;
  73. @:extern @:native("_hx_std_socket_poll_events")
  74. public static function socket_poll_events(pdata:Dynamic,timeout:Float) : Void { }
  75. @:extern @:native("_hx_std_socket_poll")
  76. public static function socket_poll(socks:Array<Socket>,pdata:Dynamic,timeout:Float) : Array<Socket> return null;
  77. @:extern @:native("_hx_std_socket_send_to")
  78. public static function socket_send_to(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int,inAddr:Dynamic) : Int return 0;
  79. @:extern @:native("_hx_std_socket_recv_from")
  80. public static function socket_recv_from(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int,outAddr:Dynamic) : Int return 0;
  81. }