use syscall.Timeval

This commit is contained in:
xushiwei
2024-07-19 08:30:41 +08:00
parent bab0bb349f
commit 675d9d8c09
2 changed files with 27 additions and 27 deletions

View File

@@ -109,17 +109,6 @@ type Hostent struct {
AddrList **c.Char // null-terminated array of addresses for the host 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 //go:linkname Socket C.socket
func Socket(domain c.Int, typ c.Int, protocol c.Int) c.Int 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 //go:linkname InetNtop C.inet_ntop
func InetNtop(af c.Int, src c.Pointer, dst *c.Char, size c.Uint) *c.Char 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 //go:linkname InetAddr C.inet_addr
func InetAddr(s *c.Char) c.Uint 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 //go:linkname Recv C.recv
func Recv(c.Int, c.Pointer, uintptr, c.Int) c.Long 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 //go:linkname Getaddrinfo C.getaddrinfo
func Getaddrinfo(host *c.Char, port *c.Char, addrInfo *AddrInfo, result **AddrInfo) c.Int func Getaddrinfo(host *c.Char, port *c.Char, addrInfo *AddrInfo, result **AddrInfo) c.Int
//go:linkname Freeaddrinfo C.freeaddrinfo //go:linkname Freeaddrinfo C.freeaddrinfo
func Freeaddrinfo(addrInfo *AddrInfo) c.Int func Freeaddrinfo(addrInfo *AddrInfo) c.Int
// -----------------------------------------------------------------------------
func swapInt16(data uint16) uint16 {
return (data << 8) | (data >> 8)
}
func Htons(x uint16) uint16 {
return swapInt16(x)
}
// -----------------------------------------------------------------------------

View File

@@ -1,10 +1,10 @@
package sys package sys
import ( import (
"github.com/goplus/llgo/c/syscall"
_ "unsafe" _ "unsafe"
"github.com/goplus/llgo/c" "github.com/goplus/llgo/c"
"github.com/goplus/llgo/c/syscall"
) )
const ( const (
@@ -12,12 +12,6 @@ const (
LLGoPackage = "link" LLGoPackage = "link"
) )
// (TODO) merge to timeval
type TimeVal struct {
TvSec c.Long
TvUSec c.Int
}
//go:linkname FD_ZERO C.fd_zero //go:linkname FD_ZERO C.fd_zero
func FD_ZERO(fdSet *syscall.FdSet) 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 func FD_ISSET(fd c.Int, fdSet *syscall.FdSet) c.Int
//go:linkname Select C.select //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