aboutsummaryrefslogtreecommitdiff
path: root/src/externs/Socket.cpp.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/externs/Socket.cpp.hx')
-rw-r--r--src/externs/Socket.cpp.hx32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/externs/Socket.cpp.hx b/src/externs/Socket.cpp.hx
new file mode 100644
index 0000000..6103cea
--- /dev/null
+++ b/src/externs/Socket.cpp.hx
@@ -0,0 +1,32 @@
+package externs;
+
+import cpp.Void;
+import cpp.SizeT;
+import cpp.Star;
+import cpp.Int32;
+import cpp.ConstStar;
+import cpp.ConstCharStar;
+
+@:include("sys/socket.h")
+@:native("struct sockaddr")
+@:structAccess
+extern class SockAddr {}
+
+@:include("sys/un.h")
+@:native("struct sockaddr_un")
+@:structAccess
+extern class SockAddrUnix {}
+
+@:buildXml("<include name='${haxelib:haxe-unix-sockets}/src/externs/Build.xml'/>")
+@:include("unistd.h")
+@:include("sys/socket.h")
+extern class Socket {
+ @:native("socket") static function socket(domain:Int32, type:Int32, protocol:Int32):Int32;
+ @:native("bind") static function bind(sockfd:Int32, addr:ConstStar<SockAddr>, addrlen:Int32):Int32;
+ @:native("listen") static function listen(sockfd:Int32, backlog:Int32):Int32;
+ @:native("accept") static function accept(sockfd:Int32, addr:Star<SockAddr>, addrlen:Star<Int32>):Int32;
+ @:native("connect") static function connect(sockfd:Int32, addr:ConstStar<SockAddr>, addrlen:Int32):Int32;
+ @:native("read") static function read(fd:Int32, buf:Star<Void>, count:SizeT):SizeT;
+ @:native("write") static function write(fd:Int32, buf:ConstStar<Void>, count:SizeT):SizeT;
+ @:native("close") static function close(fd:Int32):Int32;
+}