| package system // import "github.com/docker/docker/pkg/system" | |
| import ( | |
| "os" | |
| "time" | |
| ) | |
| // StatT type contains status of a file. It contains metadata | |
| // like permission, size, etc about a file. | |
| // | |
| // Deprecated: this type is only used internally, and will be removed in the next release. | |
| type StatT struct { | |
| mode os.FileMode | |
| size int64 | |
| mtim time.Time | |
| } | |
| // Size returns file's size. | |
| func (s StatT) Size() int64 { | |
| return s.size | |
| } | |
| // Mode returns file's permission mode. | |
| func (s StatT) Mode() os.FileMode { | |
| return s.mode | |
| } | |
| // Mtim returns file's last modification time. | |
| func (s StatT) Mtim() time.Time { | |
| return s.mtim | |
| } | |
| // Stat takes a path to a file and returns | |
| // a system.StatT type pertaining to that file. | |
| // | |
| // Throws an error if the file does not exist. | |
| // | |
| // Deprecated: this function is only used internally, and will be removed in the next release. | |
| func Stat(path string) (*StatT, error) { | |
| fi, err := os.Stat(path) | |
| if err != nil { | |
| return nil, err | |
| } | |
| return fromStatT(&fi) | |
| } | |
| // fromStatT converts a os.FileInfo type to a system.StatT type | |
| func fromStatT(fi *os.FileInfo) (*StatT, error) { | |
| return &StatT{ | |
| size: (*fi).Size(), | |
| mode: (*fi).Mode(), | |
| mtim: (*fi).ModTime(), | |
| }, nil | |
| } |