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("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, addrlen:Int32):Int32; @:native("listen") static function listen(sockfd:Int32, backlog:Int32):Int32; @:native("accept") static function accept(sockfd:Int32, addr:Star, addrlen:Star):Int32; @:native("connect") static function connect(sockfd:Int32, addr:ConstStar, addrlen:Int32):Int32; @:native("read") static function read(fd:Int32, buf:Star, count:SizeT):SizeT; @:native("write") static function write(fd:Int32, buf:ConstStar, count:SizeT):SizeT; @:native("close") static function close(fd:Int32):Int32; }