github.com/hauerwu/docker@v1.8.0-rc1/pkg/system/mknod.go (about)

     1  // +build !windows
     2  
     3  package system
     4  
     5  import (
     6  	"syscall"
     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 syscall.Mknod(path, mode, dev)
    13  }
    14  
    15  // Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes.
    16  // They are, from low to high: the lower 8 bits of the minor, then 12 bits of the major,
    17  // then the top 12 bits of the minor
    18  func Mkdev(major int64, minor int64) uint32 {
    19  	return uint32(((minor & 0xfff00) << 12) | ((major & 0xfff) << 8) | (minor & 0xff))
    20  }