1// Copyright 2015 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 5//go:build !plan9 && !windows 6 7package net 8 9import ( 10 "errors" 11 "os" 12 "syscall" 13) 14 15var ( 16 errOpNotSupported = syscall.EOPNOTSUPP 17 18 abortedConnRequestErrors = []error{syscall.ECONNABORTED} // see accept in fd_unix.go 19) 20 21func isPlatformError(err error) bool { 22 _, ok := err.(syscall.Errno) 23 return ok 24} 25 26func samePlatformError(err, want error) bool { 27 if op, ok := err.(*OpError); ok { 28 err = op.Err 29 } 30 if sys, ok := err.(*os.SyscallError); ok { 31 err = sys.Err 32 } 33 return err == want 34} 35 36func isENOBUFS(err error) bool { 37 return errors.Is(err, syscall.ENOBUFS) 38} 39