github.com/demonoid81/moby@v0.0.0-20200517203328-62dd8e17c460/pkg/system/mknod.go (about)

     1  // +build !windows
     2  
     3  package system // import "github.com/demonoid81/moby/pkg/system"
     4  
     5  import (
     6  	"golang.org/x/sys/unix"
     7  )
     8  
     9  // Mknod creates a filesystem node (file, device special file or named pipe) named path
    10  // with attributes specified by mode and dev.
    11  func Mknod(path string, mode uint32, dev int) error {
    12  	return unix.Mknod(path, mode, dev)
    13  }
    14  
    15  // Mkdev is used to build the value of linux devices (in /dev/) which specifies major
    16  // and minor number of the newly created device special file.
    17  // Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes.
    18  // They are, from low to high: the lower 8 bits of the minor, then 12 bits of the major,
    19  // then the top 12 bits of the minor.
    20  func Mkdev(major int64, minor int64) uint32 {
    21  	return uint32(unix.Mkdev(uint32(major), uint32(minor)))
    22  }