dev_darwin.go 747 B

123456789101112131415161718192021222324
  1. // Copyright 2017 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. // Functions to access/create device major and minor numbers matching the
  5. // encoding used in Darwin's sys/types.h header.
  6. package unix
  7. // Major returns the major component of a Darwin device number.
  8. func Major(dev uint64) uint32 {
  9. return uint32((dev >> 24) & 0xff)
  10. }
  11. // Minor returns the minor component of a Darwin device number.
  12. func Minor(dev uint64) uint32 {
  13. return uint32(dev & 0xffffff)
  14. }
  15. // Mkdev returns a Darwin device number generated from the given major and minor
  16. // components.
  17. func Mkdev(major, minor uint32) uint64 {
  18. return (uint64(major) << 24) | uint64(minor)
  19. }