]>
Commit | Line | Data |
---|---|---|
1 | // Copyright 2018 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 | // +build aix | |
6 | // +build ppc64 | |
7 | ||
8 | // Functions to access/create device major and minor numbers matching the | |
9 | // encoding used AIX. | |
10 | ||
11 | package unix | |
12 | ||
13 | // Major returns the major component of a Linux device number. | |
14 | func Major(dev uint64) uint32 { | |
15 | return uint32((dev & 0x3fffffff00000000) >> 32) | |
16 | } | |
17 | ||
18 | // Minor returns the minor component of a Linux device number. | |
19 | func Minor(dev uint64) uint32 { | |
20 | return uint32((dev & 0x00000000ffffffff) >> 0) | |
21 | } | |
22 | ||
23 | // Mkdev returns a Linux device number generated from the given major and minor | |
24 | // components. | |
25 | func Mkdev(major, minor uint32) uint64 { | |
26 | var DEVNO64 uint64 | |
27 | DEVNO64 = 0x8000000000000000 | |
28 | return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) | |
29 | } |