// 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. | |
package socket | |
import ( | |
"encoding/binary" | |
"unsafe" | |
) | |
// NativeEndian is the machine native endian implementation of ByteOrder. | |
var NativeEndian binary.ByteOrder | |
func init() { | |
i := uint32(1) | |
b := (*[4]byte)(unsafe.Pointer(&i)) | |
if b[0] == 1 { | |
NativeEndian = binary.LittleEndian | |
} else { | |
NativeEndian = binary.BigEndian | |
} | |
} |