diff --git a/c/net/net.go b/c/net/net.go index c6163c3b..7b2608aa 100644 --- a/c/net/net.go +++ b/c/net/net.go @@ -109,17 +109,6 @@ type Hostent struct { AddrList **c.Char // null-terminated array of addresses for the host } -type AddrInfo struct { - AiFlags c.Int - AiFamily c.Int - AiSockType c.Int - AiProtocol c.Int - AiAddrLen c.Uint - AiCanOnName *c.Char - AiAddr *SockAddr - AiNext *AddrInfo -} - //go:linkname Socket C.socket func Socket(domain c.Int, typ c.Int, protocol c.Int) c.Int @@ -143,14 +132,6 @@ func GetHostByName(name *c.Char) *Hostent //go:linkname InetNtop C.inet_ntop func InetNtop(af c.Int, src c.Pointer, dst *c.Char, size c.Uint) *c.Char -func SwapInt16(data uint16) uint16 { - return (data << 8) | (data >> 8) -} - -func Htons(x uint16) uint16 { - return SwapInt16(x) -} - //go:linkname InetAddr C.inet_addr func InetAddr(s *c.Char) c.Uint @@ -160,8 +141,33 @@ func Send(c.Int, c.Pointer, uintptr, c.Int) c.Long //go:linkname Recv C.recv func Recv(c.Int, c.Pointer, uintptr, c.Int) c.Long +// ----------------------------------------------------------------------------- + +type AddrInfo struct { + Flags c.Int + Family c.Int + SockType c.Int + Protocol c.Int + AddrLen c.Uint + CanOnName *c.Char + Addr *SockAddr + Next *AddrInfo +} + //go:linkname Getaddrinfo C.getaddrinfo func Getaddrinfo(host *c.Char, port *c.Char, addrInfo *AddrInfo, result **AddrInfo) c.Int //go:linkname Freeaddrinfo C.freeaddrinfo func Freeaddrinfo(addrInfo *AddrInfo) c.Int + +// ----------------------------------------------------------------------------- + +func swapInt16(data uint16) uint16 { + return (data << 8) | (data >> 8) +} + +func Htons(x uint16) uint16 { + return swapInt16(x) +} + +// ----------------------------------------------------------------------------- diff --git a/c/sys/select.go b/c/sys/select.go index 1b7cc004..7cd7b9ea 100644 --- a/c/sys/select.go +++ b/c/sys/select.go @@ -1,10 +1,10 @@ package sys import ( - "github.com/goplus/llgo/c/syscall" _ "unsafe" "github.com/goplus/llgo/c" + "github.com/goplus/llgo/c/syscall" ) const ( @@ -12,12 +12,6 @@ const ( LLGoPackage = "link" ) -// (TODO) merge to timeval -type TimeVal struct { - TvSec c.Long - TvUSec c.Int -} - //go:linkname FD_ZERO C.fd_zero func FD_ZERO(fdSet *syscall.FdSet) @@ -28,4 +22,4 @@ func FD_SET(fd c.Int, fdSet *syscall.FdSet) func FD_ISSET(fd c.Int, fdSet *syscall.FdSet) c.Int //go:linkname Select C.select -func Select(n c.Int, r *syscall.FdSet, w *syscall.FdSet, e *syscall.FdSet, timeout *TimeVal) c.Int +func Select(n c.Int, r *syscall.FdSet, w *syscall.FdSet, e *syscall.FdSet, timeout *syscall.Timeval) c.Int