gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

dev_zos.go (850B)


      1 // Copyright 2020 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 zos && s390x
      6 // +build zos,s390x
      7 
      8 // Functions to access/create device major and minor numbers matching the
      9 // encoding used by z/OS.
     10 //
     11 // The information below is extracted and adapted from <sys/stat.h> macros.
     12 
     13 package unix
     14 
     15 // Major returns the major component of a z/OS device number.
     16 func Major(dev uint64) uint32 {
     17 	return uint32((dev >> 16) & 0x0000FFFF)
     18 }
     19 
     20 // Minor returns the minor component of a z/OS device number.
     21 func Minor(dev uint64) uint32 {
     22 	return uint32(dev & 0x0000FFFF)
     23 }
     24 
     25 // Mkdev returns a z/OS device number generated from the given major and minor
     26 // components.
     27 func Mkdev(major, minor uint32) uint64 {
     28 	return (uint64(major) << 16) | uint64(minor)
     29 }