sys.go 943 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package devmapper
  2. import (
  3. "os"
  4. "os/exec"
  5. "syscall"
  6. )
  7. type (
  8. sysStatT syscall.Stat_t
  9. sysErrno syscall.Errno
  10. osFile struct{ *os.File }
  11. )
  12. var (
  13. sysMount = syscall.Mount
  14. sysUnmount = syscall.Unmount
  15. sysCloseOnExec = syscall.CloseOnExec
  16. sysSyscall = syscall.Syscall
  17. osOpenFile = os.OpenFile
  18. osNewFile = os.NewFile
  19. osCreate = os.Create
  20. osStat = os.Stat
  21. osIsNotExist = os.IsNotExist
  22. osIsExist = os.IsExist
  23. osMkdirAll = os.MkdirAll
  24. osRemoveAll = os.RemoveAll
  25. osRename = os.Rename
  26. osReadlink = os.Readlink
  27. execRun = func(name string, args ...string) error {
  28. return exec.Command(name, args...).Run()
  29. }
  30. )
  31. const (
  32. sysMsMgcVal = syscall.MS_MGC_VAL
  33. sysMsRdOnly = syscall.MS_RDONLY
  34. sysEInval = syscall.EINVAL
  35. sysSysIoctl = syscall.SYS_IOCTL
  36. osORdWr = os.O_RDWR
  37. osOCreate = os.O_CREATE
  38. )
  39. func toSysStatT(i interface{}) *sysStatT {
  40. return (*sysStatT)(i.(*syscall.Stat_t))
  41. }