github.com/hxx258456/ccgo@v0.0.5-0.20230213014102-48b35f46f66f/net/internal/socket/error_unix.go (about) 1 // Copyright 2017 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 aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 8 package socket 9 10 import "syscall" 11 12 var ( 13 errEAGAIN error = syscall.EAGAIN 14 errEINVAL error = syscall.EINVAL 15 errENOENT error = syscall.ENOENT 16 ) 17 18 // errnoErr returns common boxed Errno values, to prevent allocations 19 // at runtime. 20 func errnoErr(errno syscall.Errno) error { 21 switch errno { 22 case 0: 23 return nil 24 case syscall.EAGAIN: 25 return errEAGAIN 26 case syscall.EINVAL: 27 return errEINVAL 28 case syscall.ENOENT: 29 return errENOENT 30 } 31 return errno 32 }