zselect_windows.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT
  2. package goselect
  3. import "unsafe"
  4. import "syscall"
  5. var _ unsafe.Pointer
  6. var (
  7. modws2_32 = syscall.NewLazyDLL("ws2_32.dll")
  8. procselect = modws2_32.NewProc("select")
  9. proc__WSAFDIsSet = modws2_32.NewProc("__WSAFDIsSet")
  10. )
  11. func _select(nfds int, readfds *FDSet, writefds *FDSet, exceptfds *FDSet, timeout *syscall.Timeval) (total int, err error) {
  12. r0, _, e1 := syscall.Syscall6(procselect.Addr(), 5, uintptr(nfds), uintptr(unsafe.Pointer(readfds)), uintptr(unsafe.Pointer(writefds)), uintptr(unsafe.Pointer(exceptfds)), uintptr(unsafe.Pointer(timeout)), 0)
  13. total = int(r0)
  14. if total == 0 {
  15. if e1 != 0 {
  16. err = error(e1)
  17. } else {
  18. err = syscall.EINVAL
  19. }
  20. }
  21. return
  22. }
  23. func __WSAFDIsSet(handle syscall.Handle, fdset *FDSet) (isset int, err error) {
  24. r0, _, e1 := syscall.Syscall(proc__WSAFDIsSet.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(fdset)), 0)
  25. isset = int(r0)
  26. if isset == 0 {
  27. if e1 != 0 {
  28. err = error(e1)
  29. } else {
  30. err = syscall.EINVAL
  31. }
  32. }
  33. return
  34. }