ソースを参照

Add native extern defs

Hugh 9 年 前
コミット
25546f0045
5 ファイル変更354 行追加0 行削除
  1. 56 0
      std/cpp/NativeFile.hx
  2. 38 0
      std/cpp/NativeProcess.hx
  3. 23 0
      std/cpp/NativeRandom.hx
  4. 129 0
      std/cpp/NativeSocket.hx
  5. 108 0
      std/cpp/NativeSys.hx

+ 56 - 0
std/cpp/NativeFile.hx

@@ -0,0 +1,56 @@
+package cpp;
+
+@:buildXml('<import name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
+extern class NativeFile
+{
+   @:extern @:native("_hx_std_file_open")
+   public static function file_open(fname:String,r:String) : Dynamic return null;
+
+   @:extern @:native("_hx_std_file_close")
+   public static function file_close(handle:Dynamic) : Void { }
+
+
+   @:extern @:native("_hx_std_file_write")
+   public static function file_write(handle:Dynamic,s:haxe.io.BytesData,p:Int,n:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_file_write_char")
+   public static function file_write_char(handle:Dynamic,c:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_file_read_char")
+   public static function file_read_char(handle:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_file_seek")
+   public static function file_seek(handle:Dynamic,pos:Int,kind:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_file_tell")
+   public static function file_tell(handle:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_file_eof")
+   public static function file_eof(handle:Dynamic) : Bool return false;
+
+
+   @:extern @:native("_hx_std_file_flush")
+   public static function file_flush(handle:Dynamic) : Void return null;
+
+
+   @:extern @:native("_hx_std_file_contents")
+   public static function file_contents(name:String) : String return null;
+
+
+   @:extern @:native("_hx_std_file_stdin")
+   public static function file_stdin() : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_file_stdout")
+   public static function file_stdout() : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_file_stderr")
+   public static function file_stderr() : Dynamic return null;
+
+}

+ 38 - 0
std/cpp/NativeProcess.hx

@@ -0,0 +1,38 @@
+package cpp;
+
+@:buildXml('<import name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
+extern class NativeProcess
+{
+
+   @:extern @:native("_hx_std_process_run")
+   public static function process_run(cmd:String,vargs:Array<String>) : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_process_stdout_read")
+   public static function process_stdout_read(handle:Dynamic,buf:haxe.io.BytesData,pos:Int,len:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_process_stderr_read")
+   public static function process_stderr_read(handle:Dynamic,buf:haxe.io.BytesData,pos:Int,len:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_process_stdin_write")
+   public static function process_stdin_write(handle:Dynamic,buf:haxe.io.BytesData,pos:Int,len:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_process_stdin_close")
+   public static function process_stdin_close(handle:Dynamic) : Void { }
+
+
+   @:extern @:native("_hx_std_process_exit")
+   public static function process_exit(handle:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_process_pid")
+   public static function process_pid(handle:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_process_close")
+   public static function process_close(handle:Dynamic) : Void { };
+
+}

+ 23 - 0
std/cpp/NativeRandom.hx

@@ -0,0 +1,23 @@
+package cpp;
+
+@:buildXml('<import name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
+extern class NativeRandom
+{
+
+   @:extern @:native("_hx_std_random_new")
+   public static function random_new() : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_random_set_seed")
+   public static function random_set_seed(handle:Dynamic,v:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_random_int")
+   public static function random_int(handle:Dynamic,max:Int) : Int return 0;
+
+   @:extern @:native("_hx_std_random_float")
+   public static function random_float(handle:Dynamic) : Float return 0.0;
+
+
+}
+

+ 129 - 0
std/cpp/NativeSocket.hx

@@ -0,0 +1,129 @@
+package cpp;
+
+@:buildXml('<import name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
+extern class NativeSocket
+{
+   @:extern @:native("_hx_std_socket_init")
+   public static function socket_init() : Void { }
+
+
+   @:extern @:native("_hx_std_socket_new")
+   public static function socket_new(udp:Bool) : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_socket_close")
+   public static function socket_close(handle:Dynamic) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_send_char")
+   public static function socket_send_char(o:Dynamic,c:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_send")
+   public static function socket_send(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_socket_recv")
+   public static function socket_recv(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int) : Int return 0;
+
+
+   @:extern @:native("_hx_std_socket_recv_char")
+   public static function socket_recv_char(o:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_socket_write")
+   public static function socket_write(o:Dynamic,buf:haxe.io.BytesData) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_read")
+   public static function socket_read(o:Dynamic) : haxe.io.BytesData return null;
+
+
+   @:extern @:native("_hx_std_host_resolve")
+   public static function host_resolve(host:String) : Int return 0;
+
+
+   @:extern @:native("_hx_std_host_to_string")
+   public static function host_to_string(ip:Int) : String return null;
+
+
+   @:extern @:native("_hx_std_host_reverse")
+   public static function host_reverse(host:Int) : String return null;
+
+
+   @:extern @:native("_hx_std_host_local")
+   public static function host_local() : String return null;
+
+
+   @:extern @:native("_hx_std_socket_connect")
+   public static function socket_connect(o:Dynamic,host:Int,port:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_listen")
+   public static function socket_listen(o:Dynamic,n:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_select")
+   public static function socket_select(rs:Array<Dynamic>,ws:Array<Dynamic>,es:Array<Dynamic>,timeout:Dynamic) : Array<Dynamic> return null;
+
+
+   @:extern @:native("_hx_std_socket_fast_select")
+   public static function socket_fast_select(rs:Array<Dynamic>,ws:Array<Dynamic>,es:Array<Dynamic>,timeout:Dynamic) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_accept")
+   public static function socket_accept(o:Dynamic) : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_socket_peer")
+   public static function socket_peer(o:Dynamic) : Array<Int> return null;
+
+
+   @:extern @:native("_hx_std_socket_host")
+   public static function socket_host(o:Dynamic) : Array<Int> return null;
+
+
+   @:extern @:native("_hx_std_socket_set_timeout")
+   public static function socket_set_timeout(o:Dynamic,t:Dynamic) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_shutdown")
+   public static function socket_shutdown(o:Dynamic,r:Bool,w:Bool) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_set_blocking")
+   public static function socket_set_blocking(o:Dynamic,b:Bool) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_set_fast_send")
+   public static function socket_set_fast_send(o:Dynamic,b:Bool) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_poll_alloc")
+   public static function socket_poll_alloc(nsocks:Int) : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_socket_poll_prepare")
+   public static function socket_poll_prepare(pdata:Dynamic,rsocks:Array<Dynamic>,wsocks:Array<Dynamic>) : Array<Dynamic> return null;
+
+
+   @:extern @:native("_hx_std_socket_poll_events")
+   public static function socket_poll_events(pdata:Dynamic,timeout:Float) : Void { }
+
+
+   @:extern @:native("_hx_std_socket_poll")
+   public static function socket_poll(socks:Array<Dynamic>,pdata:Dynamic,timeout:Float) : Array<Dynamic> return null;
+
+
+   @:extern @:native("_hx_std_socket_send_to")
+   public static function socket_send_to(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int,inAddr:Dynamic) : Int return 0;
+
+
+   @:extern @:native("_hx_std_socket_recv_from")
+   public static function socket_recv_from(o:Dynamic,buf:haxe.io.BytesData,p:Int,l:Int,outAddr:Dynamic) : Int return 0;
+
+
+
+}
+
+

+ 108 - 0
std/cpp/NativeSys.hx

@@ -0,0 +1,108 @@
+package cpp;
+
+@:buildXml('<import name="${HXCPP}/src/hx/libs/std/Build.xml"/>')
+extern class NativeSys
+{
+
+   @:extern @:native("_hx_std_get_env")
+   public static function get_env(v:String) : String return null;
+
+
+   @:extern @:native("_hx_std_put_env")
+   public static function put_env(e:String,v:String) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_sleep")
+   public static function sys_sleep(f:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_set_time_locale")
+   public static function set_time_locale(l:String) : Bool return false;
+
+
+   @:extern @:native("_hx_std_get_cwd")
+   public static function get_cwd() : String return null;
+
+
+   @:extern @:native("_hx_std_set_cwd")
+   public static function set_cwd(d:String) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_string")
+   public static function sys_string() : String return null;
+
+
+   @:extern @:native("_hx_std_sys_is64")
+   public static function sys_is64() : Bool return false;
+
+
+   @:extern @:native("_hx_std_sys_command")
+   public static function sys_command(cmd:String) : Int return 0;
+
+
+   @:extern @:native("_hx_std_sys_exit")
+   public static function sys_exit(code:Int) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_exists")
+   public static function sys_exists(path:String) : Bool return false;
+
+
+   @:extern @:native("_hx_std_file_delete")
+   public static function file_delete(path:String) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_rename")
+   public static function sys_rename(path:String,newname:String) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_stat")
+   public static function sys_stat(path:String) : Dynamic return null;
+
+
+   @:extern @:native("_hx_std_sys_file_type")
+   public static function sys_file_type(path:String) : String return null;
+
+
+   @:extern @:native("_hx_std_sys_create_dir")
+   public static function sys_create_dir(path:String,mode:Int) : Bool return false;
+
+
+   @:extern @:native("_hx_std_sys_remove_dir")
+   public static function sys_remove_dir(path:String) : Void { }
+
+
+   @:extern @:native("_hx_std_sys_time")
+   public static function sys_time() : Float return 0;
+
+
+   @:extern @:native("_hx_std_sys_cpu_time")
+   public static function sys_cpu_time() : Float return 0;
+
+
+   @:extern @:native("_hx_std_sys_read_dir")
+   public static function sys_read_dir(p:String) : Array<String> return null;
+
+
+   @:extern @:native("_hx_std_file_full_path")
+   public static function file_full_path(path:String) : String return null;
+
+
+   @:extern @:native("_hx_std_sys_exe_path")
+   public static function sys_exe_path() : String return null;
+
+
+   @:extern @:native("_hx_std_sys_env")
+   public static function sys_env() : Array<String> return null;
+
+
+   @:extern @:native("_hx_std_sys_getch")
+   public static function sys_getch(b:Bool) : Int return 0;
+
+
+   @:extern @:native("_hx_std_sys_get_pid")
+   public static function sys_get_pid() : Int return 0;
+
+}
+
+