1// Copyright 2009 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package net
6
7import (
8	"internal/syscall/windows"
9	"os"
10	"syscall"
11)
12
13func maxListenerBacklog() int {
14	// When the socket backlog is SOMAXCONN, Windows will set the backlog to
15	// "a reasonable maximum value".
16	// See: https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-listen
17	return syscall.SOMAXCONN
18}
19
20func sysSocket(family, sotype, proto int) (syscall.Handle, error) {
21	s, err := wsaSocketFunc(int32(family), int32(sotype), int32(proto),
22		nil, 0, windows.WSA_FLAG_OVERLAPPED|windows.WSA_FLAG_NO_HANDLE_INHERIT)
23	if err != nil {
24		return syscall.InvalidHandle, os.NewSyscallError("socket", err)
25	}
26	return s, nil
27}
28