]>
Commit | Line | Data |
---|---|---|
9b12e4fe JC |
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 | } |