github.com/weaviate/weaviate@v1.24.6/usecases/cluster/disk_use_windows.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 //go:build windows 13 14 package cluster 15 16 import ( 17 "golang.org/x/sys/windows" 18 ) 19 20 // diskSpace return the disk space usage 21 func diskSpace(path string) (DiskUsage, error) { 22 var freeBytesAvailableToCaller, totalBytes, totalFreeBytes uint64 23 24 err := windows.GetDiskFreeSpaceEx( 25 windows.StringToUTF16Ptr(path), 26 &freeBytesAvailableToCaller, 27 &totalBytes, 28 &totalFreeBytes, 29 ) 30 if err != nil { 31 return DiskUsage{}, err 32 } 33 34 return DiskUsage{ 35 Total: totalBytes, 36 Available: freeBytesAvailableToCaller, 37 }, nil 38 }