diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-10-04 13:26:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-04 13:26:38 -0700 |
commit | 2c2782a2179aee6c76d90e864708e2e5ceb09349 (patch) | |
tree | c61aa40e008b7fcb371d899880a4afd1714f50af /vendor/github.com/Microsoft/hcsshim/osversion/osversion.go | |
parent | bd08fc0e9b3a9943008585879877b68789e38c31 (diff) | |
parent | d3f59bedb393521986e645bc48c47938f321b643 (diff) | |
download | podman-2c2782a2179aee6c76d90e864708e2e5ceb09349.tar.gz podman-2c2782a2179aee6c76d90e864708e2e5ceb09349.tar.bz2 podman-2c2782a2179aee6c76d90e864708e2e5ceb09349.zip |
Merge pull request #4165 from mtrmac/c-image-4
Update c/image to v4.0.0 + Buildah to 1.11.3
Diffstat (limited to 'vendor/github.com/Microsoft/hcsshim/osversion/osversion.go')
-rw-r--r-- | vendor/github.com/Microsoft/hcsshim/osversion/osversion.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/osversion.go b/vendor/github.com/Microsoft/hcsshim/osversion/osversion.go new file mode 100644 index 000000000..916950c02 --- /dev/null +++ b/vendor/github.com/Microsoft/hcsshim/osversion/osversion.go @@ -0,0 +1,51 @@ +package osversion + +import ( + "fmt" + + "golang.org/x/sys/windows" +) + +// OSVersion is a wrapper for Windows version information +// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx +type OSVersion struct { + Version uint32 + MajorVersion uint8 + MinorVersion uint8 + Build uint16 +} + +// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx +type osVersionInfoEx struct { + OSVersionInfoSize uint32 + MajorVersion uint32 + MinorVersion uint32 + BuildNumber uint32 + PlatformID uint32 + CSDVersion [128]uint16 + ServicePackMajor uint16 + ServicePackMinor uint16 + SuiteMask uint16 + ProductType byte + Reserve byte +} + +// Get gets the operating system version on Windows. +// The calling application must be manifested to get the correct version information. +func Get() OSVersion { + var err error + osv := OSVersion{} + osv.Version, err = windows.GetVersion() + if err != nil { + // GetVersion never fails. + panic(err) + } + osv.MajorVersion = uint8(osv.Version & 0xFF) + osv.MinorVersion = uint8(osv.Version >> 8 & 0xFF) + osv.Build = uint16(osv.Version >> 16) + return osv +} + +func (osv OSVersion) ToString() string { + return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build) +} |