On Thu, Jun 14, 2018 at 04:30:00PM +0200, Erik Skultety wrote:
> Signed-off-by: Erik Skultety <eskul...@redhat.com>
> ---
>  domain.go        | 41 +++++++++++++++++++++++++++++++++++++++++
>  domain_compat.go | 13 +++++++++++++
>  domain_compat.h  |  6 ++++++
>  3 files changed, 60 insertions(+)
> 
> diff --git a/domain.go b/domain.go
> index a3049aa..6499cfa 100644
> --- a/domain.go
> +++ b/domain.go
> @@ -4573,3 +4573,44 @@ func (d *Domain) SetLifecycleAction(lifecycleType 
> uint32, action uint32, flags u
>  
>       return nil
>  }
> +
> +type DomainLaunchSecurityParameters struct {
> +     SevMeasurementSet bool
> +     SevMeasurement    string
> +}

Since we just changed main libvirt code to use "SEV" instead of "Sev",
lets use SEV here too.

> +
> +func getDomainLaunchSecurityFieldInfo(params 
> *DomainLaunchSecurityParameters) map[string]typedParamsFieldInfo {
> +     return map[string]typedParamsFieldInfo{
> +             C.VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT: 
> typedParamsFieldInfo{
> +                     set: &params.SevMeasurementSet,
> +                     s:   &params.SevMeasurement,
> +             },
> +     }
> +}
> +
> +// See also 
> https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainGetLaunchSecurityInfo
> +func (d *Domain) GetLaunchSecurityInfo(flags uint32) 
> (*DomainLaunchSecurityParameters, error) {
> +     if C.LIBVIR_VERSION_NUMBER < 4005000 {
> +             return nil, 
> GetNotImplementedError("virDomainGetLaunchSecurityInfo")
> +     }
> +
> +     params := &DomainLaunchSecurityParameters{}
> +     info := getDomainLaunchSecurityFieldInfo(params)
> +
> +     var cparams *C.virTypedParameter
> +     var nparams C.int
> +
> +     ret := C.virDomainGetLaunchSecurityInfoCompat(d.ptr, 
> (*C.virTypedParameterPtr)(unsafe.Pointer(&cparams)), &nparams, C.uint(flags))
> +     if ret == -1 {
> +             return nil, GetLastError()
> +     }
> +
> +     defer C.virTypedParamsFree(cparams, nparams)
> +
> +     _, err := typedParamsUnpackLen(cparams, int(nparams), info)
> +     if err != nil {
> +             return nil, err
> +     }
> +
> +     return params, nil
> +}
> diff --git a/domain_compat.go b/domain_compat.go
> index a46a9c7..73a6db9 100644
> --- a/domain_compat.go
> +++ b/domain_compat.go
> @@ -367,5 +367,18 @@ int virDomainDetachDeviceAliasCompat(virDomainPtr domain,
>      return virDomainDetachDeviceAlias(domain, alias, flags);
>  #endif
>  }
> +
> +int virDomainGetLaunchSecurityInfoCompat(virDomainPtr domain,
> +                                      virTypedParameterPtr *params,
> +                                      int *nparams,
> +                                      unsigned int flags)
> +{
> +#if LIBVIR_VERSION_NUMBER < 4005000
> +    assert(0); // Caller should have checked version
> +#else
> +    return virDomainGetLaunchSecurityInfo(domain, params, nparams, flags);
> +#endif
> +}
> +
>  */
>  import "C"
> diff --git a/domain_compat.h b/domain_compat.h
> index 55d7e13..5c93ef5 100644
> --- a/domain_compat.h
> +++ b/domain_compat.h
> @@ -1035,5 +1035,11 @@ int virDomainDetachDeviceAliasCompat(virDomainPtr 
> domain,
>                                    const char *alias,
>                                    unsigned int flags);
>  
> +/* 4.5.0 */
> +
> +int virDomainGetLaunchSecurityInfoCompat(virDomainPtr domain,
> +                                         virTypedParameterPtr *params,
> +                                         int *nparams,
> +                                         unsigned int flags);
>  
>  #endif /* LIBVIRT_GO_DOMAIN_COMPAT_H__ */

With the s/Sev/SEV/, then

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to