[Spice-devel] [PATCH v4 1/3] add vd_agent announce capabilities message

Hans de Goede hdegoede at redhat.com
Mon Aug 30 22:11:10 PDT 2010


Hi,

2 small nitpicks, see inline comments.

On 08/30/2010 04:55 PM, Alon Levy wrote:
>
> diff --git a/spice/vd_agent.h b/spice/vd_agent.h
> index 1fcda88..9b79f0f 100644
> --- a/spice/vd_agent.h
> +++ b/spice/vd_agent.h
> @@ -64,6 +64,8 @@ enum {
>       VD_AGENT_REPLY,
>       VD_AGENT_CLIPBOARD,
>       VD_AGENT_DISPLAY_CONFIG,
> +    VD_AGENT_ANNOUNCE_CAPABILITIES,
> +    VD_AGENT_END_MESSAGE,
>   };
>
>   typedef struct SPICE_ATTR_PACKED VDAgentMonConfig {
> @@ -129,6 +131,32 @@ enum {
>       VD_AGENT_CLIPBOARD_UTF8_TEXT = 1,
>   };
>
> +enum {
> +    VD_AGENT_CAP_MOUSE_STATE = 0,
> +    VD_AGENT_CAP_MONITORS_CONFIG,
> +    VD_AGENT_CAP_REPLY,
> +    VD_AGENT_CAP_CLIPBOARD,
> +    VD_AGENT_CAP_DISPLAY_CONFIG,
> +    VD_AGENT_END_CAP,
> +};
> +
> +typedef struct SPICE_ATTR_PACKED VDAgentAnnounceCapabilities {
> +    uint32_t  request;
> +    uint32_t caps[0];
> +} VDAgentAnnounceCapabilities;
> +
> +#define VD_AGENT_CAPS_SIZE_FROM_MSG_SIZE(msg_size) \
> +    (((msg_size) - sizeof(VDAgentAnnounceCapabilities)) / sizeof(uint32_t))
> +
> +#define VD_AGENT_CAPS_SIZE ((VD_AGENT_END_CAP + 31) / 32)
> +
> +#define VD_AGENT_CAPS_BYTES (((VD_AGENT_END_CAP + 31) / 8)&  (~3))
> +

No need for () around ~3

> +#define VD_AGENT_HAS_CAPABILITY(caps, caps_size, index) \
> +    ((index)<  (caps_size * 32)&&  ((caps)[(index) / 32]&  (1<<  ((index) % 32))))
> +

% 32 -> good

> +#define VD_AGENT_SET_CAPABILITY(caps, index) \
> +    { (caps)[(index) / 32] |= (1<<  ((index)&  0x1f)); }
>

& 0x1f -> not consistent with %32 not with / 32, please make this %32 too.

Regards,

Hans


More information about the Spice-devel mailing list