github.com/jingleWang/moby@v1.13.1/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 // 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(((minor & 0xfff00) << 12) | ((major & 0xfff) << 8) | (minor & 0xff)) 22 }