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//go:build aix && ppc64 6// +build aix,ppc64 7 8// Functions to access/create device major and minor numbers matching the 9// encoding used AIX. 10 11package unix 12 13// Major returns the major component of a Linux device number. 14func Major(dev uint64) uint32 { 15 return uint32((dev & 0x3fffffff00000000) >> 32) 16} 17 18// Minor returns the minor component of a Linux device number. 19func 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. 25func Mkdev(major, minor uint32) uint64 { 26 var DEVNO64 uint64 27 DEVNO64 = 0x8000000000000000 28 return ((uint64(major) << 32) | (uint64(minor) & 0x00000000FFFFFFFF) | DEVNO64) 29} 30