// Copyright 2017 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.packagesocketimport("encoding/binary""unsafe")var(// NativeEndian is the machine native endian implementation of// ByteOrder.NativeEndianbinary.ByteOrderkernelAlignint)funcinit(){i:=uint32(1)b:=(*[4]byte)(unsafe.Pointer(&i))ifb[0]==1{NativeEndian=binary.LittleEndian}else{NativeEndian=binary.BigEndian}kernelAlign=probeProtocolStack()}funcroundup(lint)int{return(l+kernelAlign-1)&^(kernelAlign-1)}