did something
This commit is contained in:
1 parent
ffb640b15d
commit
4bed603e6d
144 files changed
+21464
-6
No files matched your search
+62
@@ -0,0 +1,62 @@
|
||||
// Copyright 2017 The Periph Authors. All rights reserved.
|
||||
// Use of this source code is governed under the Apache License, Version 2.0
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
package sysfs
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
||||
"periph.io/x/host/v3/fs"
|
||||
)
|
||||
|
||||
var ioctlOpen = ioctlOpenDefault
|
||||
|
||||
func ioctlOpenDefault(path string, flag int) (ioctlCloser, error) {
|
||||
f, err := fs.Open(path, flag)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return f, nil
|
||||
}
|
||||
|
||||
var fileIOOpen = fileIOOpenDefault
|
||||
|
||||
func fileIOOpenDefault(path string, flag int) (fileIO, error) {
|
||||
f, err := fs.Open(path, flag)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return f, nil
|
||||
}
|
||||
|
||||
type ioctlCloser interface {
|
||||
io.Closer
|
||||
fs.Ioctler
|
||||
}
|
||||
|
||||
type fileIO interface {
|
||||
Fd() uintptr
|
||||
fs.Ioctler
|
||||
io.Closer
|
||||
io.Reader
|
||||
io.Seeker
|
||||
io.Writer
|
||||
}
|
||||
|
||||
// seekRead seeks to the beginning of a file and reads it.
|
||||
func seekRead(f fileIO, b []byte) (int, error) {
|
||||
if _, err := f.Seek(0, 0); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return f.Read(b)
|
||||
}
|
||||
|
||||
// seekWrite seeks to the beginning of a file and writes to it.
|
||||
func seekWrite(f fileIO, b []byte) error {
|
||||
if _, err := f.Seek(0, 0); err != nil {
|
||||
return err
|
||||
}
|
||||
_, err := f.Write(b)
|
||||
return err
|
||||
}
|
||||
Reference in new issue
Block a user