diff --git a/c/sys/_wrap/fddef.c b/c/sys/_wrap/fddef.c index d7f4999e..26ff237b 100644 --- a/c/sys/_wrap/fddef.c +++ b/c/sys/_wrap/fddef.c @@ -1,13 +1,13 @@ #include -int fd_isset(int n, fd_set *fd) { +int llgo_FD_ISSET(int n, fd_set *fd) { return FD_ISSET(n, fd); } -void fdSet(int n, fd_set *fd) { +void llgo_FD_SET(int n, fd_set *fd) { FD_SET(n, fd); } -void fd_zero(fd_set *fd) { +void llgo_FD_ZERO(fd_set *fd) { FD_ZERO(fd); -} \ No newline at end of file +} diff --git a/c/sys/select.go b/c/sys/select.go index 7cd7b9ea..2478e9b5 100644 --- a/c/sys/select.go +++ b/c/sys/select.go @@ -12,14 +12,23 @@ const ( LLGoPackage = "link" ) -//go:linkname FD_ZERO C.fd_zero -func FD_ZERO(fdSet *syscall.FdSet) +// ----------------------------------------------------------------------------- -//go:linkname FD_SET C.fdSet -func FD_SET(fd c.Int, fdSet *syscall.FdSet) +type ( + FdSet = syscall.FdSet + Timeval = syscall.Timeval +) -//go:linkname FD_ISSET C.fd_isset -func FD_ISSET(fd c.Int, fdSet *syscall.FdSet) c.Int +//go:linkname FD_ZERO C.llgo_FD_ZERO +func FD_ZERO(fds *FdSet) + +//go:linkname FD_SET C.llgo_FD_SET +func FD_SET(fd c.Int, fds *FdSet) + +//go:linkname FD_ISSET C.llgo_FD_ISSET +func FD_ISSET(fd c.Int, fds *FdSet) c.Int //go:linkname Select C.select -func Select(n c.Int, r *syscall.FdSet, w *syscall.FdSet, e *syscall.FdSet, timeout *syscall.Timeval) c.Int +func Select(n c.Int, fdsRead, fdsWrite, fdsError *FdSet, timeout *Timeval) c.Int + +// -----------------------------------------------------------------------------