Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-11 Thread Lukáš Hrázký
On Fri, 2019-01-11 at 05:45 -0500, Frediano Ziglio wrote:
> > On Thu, 2019-01-10 at 14:28 -0600, Jonathon Jongsma wrote:
> > > On Wed, 2019-01-09 at 12:43 +0100, Lukáš Hrázký wrote:
> > > > On Wed, 2019-01-09 at 02:38 -0500, Frediano Ziglio wrote:
> > > > > > 
> > > > > > The message contains information about the graphics device and
> > > > > > monitor
> > > > > > belonging to a particular video stream (which maps to a channel)
> > > > > > from
> > > > > > the streaming agent.
> > > > > > 
> > > > > > Signed-off-by: Lukáš Hrázký 
> > > > > > ---
> > > > > >  spice/stream-device.h | 9 +
> > > > > >  1 file changed, 9 insertions(+)
> > > > > > 
> > > > > > diff --git a/spice/stream-device.h b/spice/stream-device.h
> > > > > > index 6add42b..77d76af 100644
> > > > > > --- a/spice/stream-device.h
> > > > > > +++ b/spice/stream-device.h
> > > > > > @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
> > > > > >  STREAM_TYPE_CURSOR_SET,
> > > > > >  /* guest cursor position */
> > > > > >  STREAM_TYPE_CURSOR_MOVE,
> > > > > > +/* the graphics device display information message (device
> > > > > > address and
> > > > > > display id) */
> > > > > > +STREAM_TYPE_DEVICE_DISPLAY_INFO,
> > > > > >  } StreamMsgType;
> > > > > >  
> > > > > >  typedef enum StreamCapabilities {
> > > > > > @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
> > > > > >  uint8_t data[0];
> > > > > >  } StreamMsgData;
> > > > > >  
> > > > > > +typedef struct StreamMsgDeviceDisplayInfo {
> > > > > 
> > > > > No much documentation, when it is supposed to be sent?
> > > > > In which state?
> > > > > From the agent, from the server or both?
> > > > 
> > > > I'll add some documentation.
> > > > 
> > > > > No capabilities for a new message?
> > > > 
> > > > No, the streaming agent protocol is not stable yet. Better to not add
> > > > a
> > > > capability and make the code more complex if it's not necessary.
> > > > We've
> > > > discussed this before...
> > > > 
> > > > > > +uint32_t id;
> > > > > 
> > > > > I suppose is not the same "device_display_id", not clear what is
> > > > > it.
> > > > 
> > > > Right, this is basically the equivalent of monitor_id, here it is
> > > > kind
> > > > of the ID of the stream to which the display info belongs. It's
> > > > basically just a sequence of 0, 1, 2, ... and since only a single
> > > > stream/monitor is supported at the moment, only a single message of
> > > > this type is sent and it has id = 0.
> > > > 
> > > > Suggestions how to name it? monitor_id? stream_id?
> > > 
> > > I think stream_id may be ok.
> > 
> > I'll wait for Frediano to confirm he's fine with stream_id as well...
> > 
> 
> Fine with me.
> As a base role I think protocol files should be written thinking about
> and external user. External users should rely on few files (headers if
> specific documentation is not provided). If I look at field name "id"
> just don't say much, just an unique identifier amongst all
> StreamMsgDeviceDisplayInfo. Often people says "look at the code", I
> always find it wrong and an excuse to not document the APIs/protocol.
> If I look at the current code this "id" is the Xrand ID. Is it right?
> No, that's why people should write document and stick to it.

You're right. I knew the name "id" is not descriptive enough when
writing it, but wasn't sure what to use at the time and never got back
to fix it.

> > > > > > +uint32_t device_display_id;
> > > > > > +uint32_t device_address_len;
> > > > > 
> > > > > No limit? Is 4gb fine? I suppose you want a length to be able to
> > > > > extend the message in the future, otherwise you can use the size
> > > > > of the message.
> > > > 
> > > > How do you want me to set a limit here? In a comment?
> > > > 
> > > > I initially had these wrapped in a message that contained an array of
> > > > these, hence the length. It is still unclear how this will exactly
> > > > work
> > > > with multi-monitor support. This message is likely going to change
> > > > with
> > > > that... Should I change it now?
> > > 
> > > Personally I would not try to accomodate multimonitor until we know
> > > what we need.
> > > 
> > > > 
> > > > > > +uint8_t device_address[0];  // a zero-terminated string
> > > > > 
> > > > > Encoding? Utf-8?
> > > > 
> > > > The contents are the address of the device, I don't think utf really
> > > > matters here.
> > > 
> > > Well, the address format is defined as
> > > 
> > > "pci//./.../."
> > > 
> > > So, aside from the string "pci/", the rest is just hex numbers and
> > > dots. So we don't need to encode a bunch of special characters, just
> > > characters within the ASCII range. But I don't suppose it would hurt to
> > > document it as utf-8...
> > 
> > Yes. I would aslo assume utf-8 is the default and there hardly is any
> > other consideration anyway. If it's not explicitly stated anywhere, I
> > would just document strings in general being utf-8 encoded in the
> > protocol and not document it per string?
> 

Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-11 Thread Frediano Ziglio
> On Thu, 2019-01-10 at 14:28 -0600, Jonathon Jongsma wrote:
> > On Wed, 2019-01-09 at 12:43 +0100, Lukáš Hrázký wrote:
> > > On Wed, 2019-01-09 at 02:38 -0500, Frediano Ziglio wrote:
> > > > > 
> > > > > The message contains information about the graphics device and
> > > > > monitor
> > > > > belonging to a particular video stream (which maps to a channel)
> > > > > from
> > > > > the streaming agent.
> > > > > 
> > > > > Signed-off-by: Lukáš Hrázký 
> > > > > ---
> > > > >  spice/stream-device.h | 9 +
> > > > >  1 file changed, 9 insertions(+)
> > > > > 
> > > > > diff --git a/spice/stream-device.h b/spice/stream-device.h
> > > > > index 6add42b..77d76af 100644
> > > > > --- a/spice/stream-device.h
> > > > > +++ b/spice/stream-device.h
> > > > > @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
> > > > >  STREAM_TYPE_CURSOR_SET,
> > > > >  /* guest cursor position */
> > > > >  STREAM_TYPE_CURSOR_MOVE,
> > > > > +/* the graphics device display information message (device
> > > > > address and
> > > > > display id) */
> > > > > +STREAM_TYPE_DEVICE_DISPLAY_INFO,
> > > > >  } StreamMsgType;
> > > > >  
> > > > >  typedef enum StreamCapabilities {
> > > > > @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
> > > > >  uint8_t data[0];
> > > > >  } StreamMsgData;
> > > > >  
> > > > > +typedef struct StreamMsgDeviceDisplayInfo {
> > > > 
> > > > No much documentation, when it is supposed to be sent?
> > > > In which state?
> > > > From the agent, from the server or both?
> > > 
> > > I'll add some documentation.
> > > 
> > > > No capabilities for a new message?
> > > 
> > > No, the streaming agent protocol is not stable yet. Better to not add
> > > a
> > > capability and make the code more complex if it's not necessary.
> > > We've
> > > discussed this before...
> > > 
> > > > > +uint32_t id;
> > > > 
> > > > I suppose is not the same "device_display_id", not clear what is
> > > > it.
> > > 
> > > Right, this is basically the equivalent of monitor_id, here it is
> > > kind
> > > of the ID of the stream to which the display info belongs. It's
> > > basically just a sequence of 0, 1, 2, ... and since only a single
> > > stream/monitor is supported at the moment, only a single message of
> > > this type is sent and it has id = 0.
> > > 
> > > Suggestions how to name it? monitor_id? stream_id?
> > 
> > I think stream_id may be ok.
> 
> I'll wait for Frediano to confirm he's fine with stream_id as well...
> 

Fine with me.
As a base role I think protocol files should be written thinking about
and external user. External users should rely on few files (headers if
specific documentation is not provided). If I look at field name "id"
just don't say much, just an unique identifier amongst all
StreamMsgDeviceDisplayInfo. Often people says "look at the code", I
always find it wrong and an excuse to not document the APIs/protocol.
If I look at the current code this "id" is the Xrand ID. Is it right?
No, that's why people should write document and stick to it.

> > > > > +uint32_t device_display_id;
> > > > > +uint32_t device_address_len;
> > > > 
> > > > No limit? Is 4gb fine? I suppose you want a length to be able to
> > > > extend the message in the future, otherwise you can use the size
> > > > of the message.
> > > 
> > > How do you want me to set a limit here? In a comment?
> > > 
> > > I initially had these wrapped in a message that contained an array of
> > > these, hence the length. It is still unclear how this will exactly
> > > work
> > > with multi-monitor support. This message is likely going to change
> > > with
> > > that... Should I change it now?
> > 
> > Personally I would not try to accomodate multimonitor until we know
> > what we need.
> > 
> > > 
> > > > > +uint8_t device_address[0];  // a zero-terminated string
> > > > 
> > > > Encoding? Utf-8?
> > > 
> > > The contents are the address of the device, I don't think utf really
> > > matters here.
> > 
> > Well, the address format is defined as
> > 
> > "pci//./.../."
> > 
> > So, aside from the string "pci/", the rest is just hex numbers and
> > dots. So we don't need to encode a bunch of special characters, just
> > characters within the ASCII range. But I don't suppose it would hurt to
> > document it as utf-8...
> 
> Yes. I would aslo assume utf-8 is the default and there hardly is any
> other consideration anyway. If it's not explicitly stated anywhere, I
> would just document strings in general being utf-8 encoded in the
> protocol and not document it per string?
> 

From the header file "donald duck\0" is a perfect device address.
Maybe a comment about the format (even a reference to something
else but I would be better if people don't have to go crazy to
get to it)

> Cheers,
> Lukas
> 

Frediano

> > > > I suppose by "zero-terminated" you mean if not terminated is a
> > > > protocol violation.
> > > 
> > > Yes. Do you prefer something else?
> > > 
> > > Cheers,
> > > Lukas
> > > 
> > > > > +} Stre

Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-11 Thread Lukáš Hrázký
On Thu, 2019-01-10 at 14:28 -0600, Jonathon Jongsma wrote:
> On Wed, 2019-01-09 at 12:43 +0100, Lukáš Hrázký wrote:
> > On Wed, 2019-01-09 at 02:38 -0500, Frediano Ziglio wrote:
> > > > 
> > > > The message contains information about the graphics device and
> > > > monitor
> > > > belonging to a particular video stream (which maps to a channel)
> > > > from
> > > > the streaming agent.
> > > > 
> > > > Signed-off-by: Lukáš Hrázký 
> > > > ---
> > > >  spice/stream-device.h | 9 +
> > > >  1 file changed, 9 insertions(+)
> > > > 
> > > > diff --git a/spice/stream-device.h b/spice/stream-device.h
> > > > index 6add42b..77d76af 100644
> > > > --- a/spice/stream-device.h
> > > > +++ b/spice/stream-device.h
> > > > @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
> > > >  STREAM_TYPE_CURSOR_SET,
> > > >  /* guest cursor position */
> > > >  STREAM_TYPE_CURSOR_MOVE,
> > > > +/* the graphics device display information message (device
> > > > address and
> > > > display id) */
> > > > +STREAM_TYPE_DEVICE_DISPLAY_INFO,
> > > >  } StreamMsgType;
> > > >  
> > > >  typedef enum StreamCapabilities {
> > > > @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
> > > >  uint8_t data[0];
> > > >  } StreamMsgData;
> > > >  
> > > > +typedef struct StreamMsgDeviceDisplayInfo {
> > > 
> > > No much documentation, when it is supposed to be sent?
> > > In which state?
> > > From the agent, from the server or both?
> > 
> > I'll add some documentation.
> > 
> > > No capabilities for a new message?
> > 
> > No, the streaming agent protocol is not stable yet. Better to not add
> > a
> > capability and make the code more complex if it's not necessary.
> > We've
> > discussed this before...
> > 
> > > > +uint32_t id;
> > > 
> > > I suppose is not the same "device_display_id", not clear what is
> > > it.
> > 
> > Right, this is basically the equivalent of monitor_id, here it is
> > kind
> > of the ID of the stream to which the display info belongs. It's
> > basically just a sequence of 0, 1, 2, ... and since only a single
> > stream/monitor is supported at the moment, only a single message of
> > this type is sent and it has id = 0.
> > 
> > Suggestions how to name it? monitor_id? stream_id?
> 
> I think stream_id may be ok.

I'll wait for Frediano to confirm he's fine with stream_id as well...

> > > > +uint32_t device_display_id;
> > > > +uint32_t device_address_len;
> > > 
> > > No limit? Is 4gb fine? I suppose you want a length to be able to
> > > extend the message in the future, otherwise you can use the size
> > > of the message.
> > 
> > How do you want me to set a limit here? In a comment?
> > 
> > I initially had these wrapped in a message that contained an array of
> > these, hence the length. It is still unclear how this will exactly
> > work
> > with multi-monitor support. This message is likely going to change
> > with
> > that... Should I change it now?
> 
> Personally I would not try to accomodate multimonitor until we know
> what we need.
> 
> > 
> > > > +uint8_t device_address[0];  // a zero-terminated string
> > > 
> > > Encoding? Utf-8?
> > 
> > The contents are the address of the device, I don't think utf really
> > matters here.
> 
> Well, the address format is defined as 
> 
> "pci//./.../."
> 
> So, aside from the string "pci/", the rest is just hex numbers and
> dots. So we don't need to encode a bunch of special characters, just
> characters within the ASCII range. But I don't suppose it would hurt to
> document it as utf-8...

Yes. I would aslo assume utf-8 is the default and there hardly is any
other consideration anyway. If it's not explicitly stated anywhere, I
would just document strings in general being utf-8 encoded in the
protocol and not document it per string?

Cheers,
Lukas

> > > I suppose by "zero-terminated" you mean if not terminated is a
> > > protocol violation.
> > 
> > Yes. Do you prefer something else?
> > 
> > Cheers,
> > Lukas
> > 
> > > > +} StreamMsgDeviceDisplayInfo;
> > > > +
> > > >  /* Tell to stop current stream and possibly start a new one.
> > > >   * This message is sent by the host to the guest.
> > > >   * Allows to communicate the codecs supported by the clients.
> > > 
> > > Frediano
> > 
> > ___
> > Spice-devel mailing list
> > Spice-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/spice-devel
> 
> 
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-10 Thread Jonathon Jongsma
On Wed, 2019-01-09 at 12:43 +0100, Lukáš Hrázký wrote:
> On Wed, 2019-01-09 at 02:38 -0500, Frediano Ziglio wrote:
> > > 
> > > The message contains information about the graphics device and
> > > monitor
> > > belonging to a particular video stream (which maps to a channel)
> > > from
> > > the streaming agent.
> > > 
> > > Signed-off-by: Lukáš Hrázký 
> > > ---
> > >  spice/stream-device.h | 9 +
> > >  1 file changed, 9 insertions(+)
> > > 
> > > diff --git a/spice/stream-device.h b/spice/stream-device.h
> > > index 6add42b..77d76af 100644
> > > --- a/spice/stream-device.h
> > > +++ b/spice/stream-device.h
> > > @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
> > >  STREAM_TYPE_CURSOR_SET,
> > >  /* guest cursor position */
> > >  STREAM_TYPE_CURSOR_MOVE,
> > > +/* the graphics device display information message (device
> > > address and
> > > display id) */
> > > +STREAM_TYPE_DEVICE_DISPLAY_INFO,
> > >  } StreamMsgType;
> > >  
> > >  typedef enum StreamCapabilities {
> > > @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
> > >  uint8_t data[0];
> > >  } StreamMsgData;
> > >  
> > > +typedef struct StreamMsgDeviceDisplayInfo {
> > 
> > No much documentation, when it is supposed to be sent?
> > In which state?
> > From the agent, from the server or both?
> 
> I'll add some documentation.
> 
> > No capabilities for a new message?
> 
> No, the streaming agent protocol is not stable yet. Better to not add
> a
> capability and make the code more complex if it's not necessary.
> We've
> discussed this before...
> 
> > > +uint32_t id;
> > 
> > I suppose is not the same "device_display_id", not clear what is
> > it.
> 
> Right, this is basically the equivalent of monitor_id, here it is
> kind
> of the ID of the stream to which the display info belongs. It's
> basically just a sequence of 0, 1, 2, ... and since only a single
> stream/monitor is supported at the moment, only a single message of
> this type is sent and it has id = 0.
> 
> Suggestions how to name it? monitor_id? stream_id?

I think stream_id may be ok.

> 
> > > +uint32_t device_display_id;
> > > +uint32_t device_address_len;
> > 
> > No limit? Is 4gb fine? I suppose you want a length to be able to
> > extend the message in the future, otherwise you can use the size
> > of the message.
> 
> How do you want me to set a limit here? In a comment?
> 
> I initially had these wrapped in a message that contained an array of
> these, hence the length. It is still unclear how this will exactly
> work
> with multi-monitor support. This message is likely going to change
> with
> that... Should I change it now?

Personally I would not try to accomodate multimonitor until we know
what we need.

> 
> > > +uint8_t device_address[0];  // a zero-terminated string
> > 
> > Encoding? Utf-8?
> 
> The contents are the address of the device, I don't think utf really
> matters here.

Well, the address format is defined as 

"pci//./.../."

So, aside from the string "pci/", the rest is just hex numbers and
dots. So we don't need to encode a bunch of special characters, just
characters within the ASCII range. But I don't suppose it would hurt to
document it as utf-8...


> 
> > I suppose by "zero-terminated" you mean if not terminated is a
> > protocol violation.
> 
> Yes. Do you prefer something else?
> 
> Cheers,
> Lukas
> 
> > > +} StreamMsgDeviceDisplayInfo;
> > > +
> > >  /* Tell to stop current stream and possibly start a new one.
> > >   * This message is sent by the host to the guest.
> > >   * Allows to communicate the codecs supported by the clients.
> > 
> > Frediano
> 
> ___
> Spice-devel mailing list
> Spice-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel

___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-09 Thread Lukáš Hrázký
On Wed, 2019-01-09 at 02:38 -0500, Frediano Ziglio wrote:
> > 
> > The message contains information about the graphics device and monitor
> > belonging to a particular video stream (which maps to a channel) from
> > the streaming agent.
> > 
> > Signed-off-by: Lukáš Hrázký 
> > ---
> >  spice/stream-device.h | 9 +
> >  1 file changed, 9 insertions(+)
> > 
> > diff --git a/spice/stream-device.h b/spice/stream-device.h
> > index 6add42b..77d76af 100644
> > --- a/spice/stream-device.h
> > +++ b/spice/stream-device.h
> > @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
> >  STREAM_TYPE_CURSOR_SET,
> >  /* guest cursor position */
> >  STREAM_TYPE_CURSOR_MOVE,
> > +/* the graphics device display information message (device address and
> > display id) */
> > +STREAM_TYPE_DEVICE_DISPLAY_INFO,
> >  } StreamMsgType;
> >  
> >  typedef enum StreamCapabilities {
> > @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
> >  uint8_t data[0];
> >  } StreamMsgData;
> >  
> > +typedef struct StreamMsgDeviceDisplayInfo {
> 
> No much documentation, when it is supposed to be sent?
> In which state?
> From the agent, from the server or both?

I'll add some documentation.

> No capabilities for a new message?

No, the streaming agent protocol is not stable yet. Better to not add a
capability and make the code more complex if it's not necessary. We've
discussed this before...

> > +uint32_t id;
> 
> I suppose is not the same "device_display_id", not clear what is it.

Right, this is basically the equivalent of monitor_id, here it is kind
of the ID of the stream to which the display info belongs. It's
basically just a sequence of 0, 1, 2, ... and since only a single
stream/monitor is supported at the moment, only a single message of
this type is sent and it has id = 0.

Suggestions how to name it? monitor_id? stream_id?

> > +uint32_t device_display_id;
> > +uint32_t device_address_len;
> 
> No limit? Is 4gb fine? I suppose you want a length to be able to
> extend the message in the future, otherwise you can use the size
> of the message.

How do you want me to set a limit here? In a comment?

I initially had these wrapped in a message that contained an array of
these, hence the length. It is still unclear how this will exactly work
with multi-monitor support. This message is likely going to change with
that... Should I change it now?

> > +uint8_t device_address[0];  // a zero-terminated string
> 
> Encoding? Utf-8?

The contents are the address of the device, I don't think utf really
matters here.

> I suppose by "zero-terminated" you mean if not terminated is a
> protocol violation.

Yes. Do you prefer something else?

Cheers,
Lukas

> > +} StreamMsgDeviceDisplayInfo;
> > +
> >  /* Tell to stop current stream and possibly start a new one.
> >   * This message is sent by the host to the guest.
> >   * Allows to communicate the codecs supported by the clients.
> 
> Frediano
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-08 Thread Frediano Ziglio
> 
> The message contains information about the graphics device and monitor
> belonging to a particular video stream (which maps to a channel) from
> the streaming agent.
> 
> Signed-off-by: Lukáš Hrázký 
> ---
>  spice/stream-device.h | 9 +
>  1 file changed, 9 insertions(+)
> 
> diff --git a/spice/stream-device.h b/spice/stream-device.h
> index 6add42b..77d76af 100644
> --- a/spice/stream-device.h
> +++ b/spice/stream-device.h
> @@ -90,6 +90,8 @@ typedef enum StreamMsgType {
>  STREAM_TYPE_CURSOR_SET,
>  /* guest cursor position */
>  STREAM_TYPE_CURSOR_MOVE,
> +/* the graphics device display information message (device address and
> display id) */
> +STREAM_TYPE_DEVICE_DISPLAY_INFO,
>  } StreamMsgType;
>  
>  typedef enum StreamCapabilities {
> @@ -140,6 +142,13 @@ typedef struct StreamMsgData {
>  uint8_t data[0];
>  } StreamMsgData;
>  
> +typedef struct StreamMsgDeviceDisplayInfo {

No much documentation, when it is supposed to be sent?
In which state?
From the agent, from the server or both?
No capabilities for a new message?

> +uint32_t id;

I suppose is not the same "device_display_id", not clear what is it.

> +uint32_t device_display_id;
> +uint32_t device_address_len;

No limit? Is 4gb fine? I suppose you want a length to be able to
extend the message in the future, otherwise you can use the size
of the message.

> +uint8_t device_address[0];  // a zero-terminated string

Encoding? Utf-8?
I suppose by "zero-terminated" you mean if not terminated is a
protocol violation.

> +} StreamMsgDeviceDisplayInfo;
> +
>  /* Tell to stop current stream and possibly start a new one.
>   * This message is sent by the host to the guest.
>   * Allows to communicate the codecs supported by the clients.

Frediano
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] [PATCH spice-protocol 2/8] Add the StreamMsgGraphicsDeviceInfo message

2019-01-08 Thread Lukáš Hrázký
The message contains information about the graphics device and monitor
belonging to a particular video stream (which maps to a channel) from
the streaming agent.

Signed-off-by: Lukáš Hrázký 
---
 spice/stream-device.h | 9 +
 1 file changed, 9 insertions(+)

diff --git a/spice/stream-device.h b/spice/stream-device.h
index 6add42b..77d76af 100644
--- a/spice/stream-device.h
+++ b/spice/stream-device.h
@@ -90,6 +90,8 @@ typedef enum StreamMsgType {
 STREAM_TYPE_CURSOR_SET,
 /* guest cursor position */
 STREAM_TYPE_CURSOR_MOVE,
+/* the graphics device display information message (device address and 
display id) */
+STREAM_TYPE_DEVICE_DISPLAY_INFO,
 } StreamMsgType;
 
 typedef enum StreamCapabilities {
@@ -140,6 +142,13 @@ typedef struct StreamMsgData {
 uint8_t data[0];
 } StreamMsgData;
 
+typedef struct StreamMsgDeviceDisplayInfo {
+uint32_t id;
+uint32_t device_display_id;
+uint32_t device_address_len;
+uint8_t device_address[0];  // a zero-terminated string
+} StreamMsgDeviceDisplayInfo;
+
 /* Tell to stop current stream and possibly start a new one.
  * This message is sent by the host to the guest.
  * Allows to communicate the codecs supported by the clients.
-- 
2.20.1

___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel