Signed-off-by: Amneesh Singh <natto@xxxxxxxxxxxxx> --- src/remote/remote_protocol.x | 16 ++++++++++++++++ src/remote_protocol-structs | 13 +++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index 79ffc63f03..c23e184d3a 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -418,6 +418,20 @@ struct remote_vcpu_info { int cpu; }; +const REMOTE_HISTOGRAM_BUCKET_MAX = 32; + +struct remote_histogram_bucket { + hyper x; + hyper y; +}; + +struct remote_histogram { + remote_histogram_bucket buckets<REMOTE_HISTOGRAM_BUCKET_MAX>; + unsigned int nbuckets; +}; + +typedef remote_histogram *remote_nonnull_histogram; + /* Wire encoding of virTypedParameter. * Note the enum (type) which must remain binary compatible. */ @@ -436,6 +450,8 @@ union remote_typed_param_value switch (int type) { int b; case VIR_TYPED_PARAM_STRING: remote_nonnull_string s; + case VIR_TYPED_PARAM_HISTOGRAM: + remote_nonnull_histogram h; }; struct remote_typed_param { diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index ca5222439d..95fc4a15fe 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -73,6 +73,18 @@ struct remote_vcpu_info { uint64_t cpu_time; int cpu; }; +struct remote_histogram_bucket { + int64_t x; + int64_t y; +}; +struct remote_histogram { + struct { + u_int buckets_len; + remote_histogram_bucket * buckets_val; + } buckets; + u_int nbuckets; +}; +typedef remote_histogram *remote_nonnull_histogram; struct remote_typed_param_value { int type; union { @@ -83,6 +95,7 @@ struct remote_typed_param_value { double d; int b; remote_nonnull_string s; + remote_nonnull_histogram h; } remote_typed_param_value_u; }; struct remote_typed_param { -- 2.37.1