Last change
on this file since 822 was 822, checked in by yakumo.izuru, 22 months ago |
Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.
Signed-off-by: Izuru Yakumo <yakumo.izuru@…>
|
File size:
949 bytes
|
Line | |
---|
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 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.