summaryrefslogtreecommitdiff
path: root/vendor/github.com/power-devops/perfstat/lparstat.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/power-devops/perfstat/lparstat.go')
-rw-r--r--vendor/github.com/power-devops/perfstat/lparstat.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/power-devops/perfstat/lparstat.go b/vendor/github.com/power-devops/perfstat/lparstat.go
index 0ce35e3..470a1af 100644
--- a/vendor/github.com/power-devops/perfstat/lparstat.go
+++ b/vendor/github.com/power-devops/perfstat/lparstat.go
@@ -1,3 +1,4 @@
+//go:build aix
// +build aix
package perfstat
@@ -6,11 +7,13 @@ package perfstat
#cgo LDFLAGS: -lperfstat
#include <libperfstat.h>
+#include <sys/dr.h>
*/
import "C"
import (
"fmt"
+ "unsafe"
)
func PartitionStat() (*PartitionConfig, error) {
@@ -24,3 +27,14 @@ func PartitionStat() (*PartitionConfig, error) {
return &p, nil
}
+
+func LparInfo() (*PartitionInfo, error) {
+ var pinfo C.lpar_info_format2_t
+
+ rc := C.lpar_get_info(C.LPAR_INFO_FORMAT2, unsafe.Pointer(&pinfo), C.sizeof_lpar_info_format2_t)
+ if rc != 0 {
+ return nil, fmt.Errorf("lpar_get_info() error")
+ }
+ p := lparinfo2partinfo(pinfo)
+ return &p, nil
+}