func GetArchInfo() (systemInfo map[string]interface{}, err error) {
	systemInfo = make(map[string]interface{})

	systemInfo["hostname"], _ = os.Hostname()

	if runtime.GOARCH == "amd64" {
		systemInfo["machine"] = "x86_64"
	} else {
		systemInfo["machine"] = runtime.GOARCH
	}

	systemInfo["os"], err = fetchOsDescription()

	maj, min, bld, err := fetchWindowsVersion()
	verstring := fmt.Sprintf("%d.%d.%d", maj, min, bld)
	systemInfo["kernel_release"] = verstring

	systemInfo["kernel_name"] = "Windows"

	// do additional work so that we don't panic() when the library's
	// not there (like in a container)
	family := "Unknown"
	si, sierr := netServerGetInfo()
	if sierr == nil {
		if (si.sv101_type&SV_TYPE_WORKSTATION) == SV_TYPE_WORKSTATION ||
			(si.sv101_type&SV_TYPE_SERVER) == SV_TYPE_SERVER {
			if (si.sv101_type & SV_TYPE_WORKSTATION) == SV_TYPE_WORKSTATION {
				family = "Workstation"
			} else if (si.sv101_type & SV_TYPE_SERVER) == SV_TYPE_SERVER {
				family = "Server"
			}
			if (si.sv101_type & SV_TYPE_DOMAIN_MEMBER) == SV_TYPE_DOMAIN_MEMBER {
				family = "Domain Joined " + family
			} else {
				family = "Standalone " + family
			}
		} else if (si.sv101_type & SV_TYPE_DOMAIN_CTRL) == SV_TYPE_DOMAIN_CTRL {
			family = "Domain Controller"
		} else if (si.sv101_type & SV_TYPE_DOMAIN_BAKCTRL) == SV_TYPE_DOMAIN_BAKCTRL {
			family = "Backup Domain Controller"
		}
	}
	systemInfo["family"] = family

	return
}
// GetArchInfo() returns basic host architecture information
GetArchInfo() returns basic host architecture information
// GetArchInfo () returns basic host architecture information
func GetArchInfo() (systemInfo map[string]interface{}, err error) {
	systemInfo = make(map[string]interface{})
	systemInfo["hostname"], _ = os.Hostname()
	if runtime.GOARCH == "amd64" {
		systemInfo["machine"] = "x86_64"
	} else {
		systemInfo["machine"] = runtime.GOARCH
	}
	systemInfo["os"], err = fetchOsDescription()
	maj, min, bld, err := fetchWindowsVersion()
	verstring := fmt.Sprintf("%d.%d.%d", maj, min, bld)
	systemInfo["kernel_release"] = verstring
	systemInfo["kernel_name"] = "Windows"
	family := "Unknown"
	si, sierr := netServerGetInfo()
	if sierr == nil {
		if (si.sv101_type&SV_TYPE_WORKSTATION) == SV_TYPE_WORKSTATION ||
			(si.sv101_type&SV_TYPE_SERVER) == SV_TYPE_SERVER {
			if (si.sv101_type & SV_TYPE_WORKSTATION) == SV_TYPE_WORKSTATION {
				family = "Workstation"
			} else if (si.sv101_type & SV_TYPE_SERVER) == SV_TYPE_SERVER {
				family = "Server"
			}
			if (si.sv101_type & SV_TYPE_DOMAIN_MEMBER) == SV_TYPE_DOMAIN_MEMBER {
				family = "Domain Joined " + family
			} else {
				family = "Standalone " + family
			}
		} else if (si.sv101_type & SV_TYPE_DOMAIN_CTRL) == SV_TYPE_DOMAIN_CTRL {
			family = "Domain Controller"
		} else if (si.sv101_type & SV_TYPE_DOMAIN_BAKCTRL) == SV_TYPE_DOMAIN_BAKCTRL {
			family = "Backup Domain Controller"
		}
	}
	systemInfo["family"] = family
	return
}
func GetArchInfo ( ) ( systemInfo map [ string ] interface { } , err error ) { systemInfo = make ( map [ string ] interface { } ) systemInfo [ " " ] , _ = os . Hostname ( ) if runtime . GOARCH == " " { systemInfo [ " " ] = " " } else { systemInfo [ " " ] = runtime . GOARCH } systemInfo [ " " ] , err = fetchOsDescription ( ) maj , min , bld , err := fetchWindowsVersion ( ) verstring := fmt . Sprintf ( " " , maj , min , bld ) systemInfo [ " " ] = verstring systemInfo [ " " ] = " " family := " " si , sierr := netServerGetInfo ( ) if sierr == nil { if ( si . sv101_type & SV_TYPE_WORKSTATION ) == SV_TYPE_WORKSTATION || ( si . sv101_type & SV_TYPE_SERVER ) == SV_TYPE_SERVER { if ( si . sv101_type & SV_TYPE_WORKSTATION ) == SV_TYPE_WORKSTATION { family = " " } else if ( si . sv101_type & SV_TYPE_SERVER ) == SV_TYPE_SERVER { family = " " } if ( si . sv101_type & SV_TYPE_DOMAIN_MEMBER ) == SV_TYPE_DOMAIN_MEMBER { family = " " + family } else { family = " " + family } } else if ( si . sv101_type & SV_TYPE_DOMAIN_CTRL ) == SV_TYPE_DOMAIN_CTRL { family = " " } else if ( si . sv101_type & SV_TYPE_DOMAIN_BAKCTRL ) == SV_TYPE_DOMAIN_BAKCTRL { family = " " } } systemInfo [ " " ] = family return }
GetArchInfo() returns basic host architecture information
GetArchInfo () returns basic host architecture information
// do additional work so that we don't panic() when the library's // not there (like in a container)