Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
kardolus
GitHub Repository: kardolus/chatgpt-cli
Path: blob/main/vendor/github.com/google/uuid/node_net.go
2875 views
1
// Copyright 2017 Google Inc. 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
// +build !js
6
7
package uuid
8
9
import "net"
10
11
var interfaces []net.Interface // cached list of interfaces
12
13
// getHardwareInterface returns the name and hardware address of interface name.
14
// If name is "" then the name and hardware address of one of the system's
15
// interfaces is returned. If no interfaces are found (name does not exist or
16
// there are no interfaces) then "", nil is returned.
17
//
18
// Only addresses of at least 6 bytes are returned.
19
func getHardwareInterface(name string) (string, []byte) {
20
if interfaces == nil {
21
var err error
22
interfaces, err = net.Interfaces()
23
if err != nil {
24
return "", nil
25
}
26
}
27
for _, ifs := range interfaces {
28
if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) {
29
return ifs.Name, ifs.HardwareAddr
30
}
31
}
32
return "", nil
33
}
34
35