package socket
import "github.com/Microsoft/go-winio/internal/socket"
Index ¶
- Variables
- func Bind(s windows.Handle, rsa RawSockaddr) (err error)
- func ConnectEx( fd windows.Handle, rsa RawSockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *windows.Overlapped, ) error
- func GetPeerName(s windows.Handle, rsa RawSockaddr) error
- func GetSockName(s windows.Handle, rsa RawSockaddr) error
- type RawSockaddr
Variables ¶
var ( ErrBufferSize = errors.New("buffer size") ErrAddrFamily = errors.New("address family") ErrInvalidPointer = errors.New("invalid pointer") ErrSocketClosed = fmt.Errorf("socket closed: %w", net.ErrClosed) )
var ( // todo: add `AcceptEx` and `GetAcceptExSockaddrs` WSAID_CONNECTEX = guid.GUID{ Data1: 0x25a207b9, Data2: 0xddf3, Data3: 0x4660, Data4: [8]byte{0x8e, 0xe9, 0x76, 0xe5, 0x8c, 0x74, 0x06, 0x3e}, } )
Functions ¶
func Bind ¶
func Bind(s windows.Handle, rsa RawSockaddr) (err error)
func ConnectEx ¶
func ConnectEx( fd windows.Handle, rsa RawSockaddr, sendBuf *byte, sendDataLen uint32, bytesSent *uint32, overlapped *windows.Overlapped, ) error
func GetPeerName ¶
func GetPeerName(s windows.Handle, rsa RawSockaddr) error
GetPeerName returns the remote address the socket is connected to.
See GetSockName for more information.
func GetSockName ¶
func GetSockName(s windows.Handle, rsa RawSockaddr) error
GetSockName writes the local address of socket s to the RawSockaddr rsa. If rsa is not large enough, the windows.WSAEFAULT is returned.
Types ¶
type RawSockaddr ¶
type RawSockaddr interface { // Sockaddr returns a pointer to the RawSockaddr and its struct size, allowing // for the RawSockaddr's data to be overwritten by syscalls (if necessary). // // It is the callers responsibility to validate that the values are valid; invalid // pointers or size can cause a panic. Sockaddr() (unsafe.Pointer, int32, error) }
RawSockaddr allows structs to be used with Bind and ConnectEx. The struct must meet the Win32 sockaddr requirements specified here: https://docs.microsoft.com/en-us/windows/win32/winsock/sockaddr-2
Specifically, the struct size must be least larger than an int16 (unsigned short) for the address family.
Source Files ¶
rawaddr.go socket.go zsyscall_windows.go
- Version
- v0.6.2 (latest)
- Published
- Apr 9, 2024
- Platform
- windows/amd64
- Imports
- 8 packages
- Last checked
- 22 hours ago –
Tools for package owners.