Add unix domain client server support
commit67f92ea676968f3ec6f6b8ab3fdc0a6bc33c987e
authorHans de Goede <hdegoede@redhat.com>
Tue, 14 Sep 2010 16:03:47 +0000 (14 18:03 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 14 Sep 2010 16:03:47 +0000 (14 18:03 +0200)
tree93b38e7ec6ed6b40b5381e63b8dab3e6c8d45f1b
parente90aff7f90f7f58db242a57a2340b60960ce143c
Add unix domain client server support

To get a properly functioning agent we will need to split the functionality
into a daemon (vdagentd, which has the rights to open the virtio device and to
create fake input devices for the mouse) and into a client (vdagent) which
runs under Xorg and thus can read / set things like the resolution and
the clipboard and talks to the spice server / client through the daemon.

Since we can have multiple xorg sessions active (through switch user for
example), the daemon supports multiple agent connections. Security
still needs to be filled in I'm afraid (see TODO).

The protocol between the 2 is "described" in vdagentd-proto.h, currently there
is only one vdagentd command, which allows vdagent to tell vdagentd the
xorg screen resolution so that it knows what resolution to use for the
fake absolute input device, and so that it can adjust that resolution
if the xorg resolution changes.

The client included in this commit is purely a test client, which
just sends a hardcoded resolution once and then sits there and does nothing.
Makefile
TODO [new file with mode: 0644]
client.c [new file with mode: 0644]
udscs.c [new file with mode: 0644]
udscs.h [new file with mode: 0644]
vdagent.c
vdagentd-proto.h [new file with mode: 0644]