Gerd Hoffmann
6ba331f45e
qxl abi: parse QXLOpaque.
...
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
2012-03-20 15:25:45 +01:00
Gerd Hoffmann
bc1c2837f3
qxl abi: parse QXLFill.
...
Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
2012-03-20 15:25:45 +01:00
Alexander Larsson
a45758117b
Fix build error due to member "SpiceMsgEmpty" same name as type
2012-03-20 15:25:45 +01:00
Alexander Larsson
49aeb85dc1
spice.proto: surface_create.format is of type surface_fmt
2012-03-20 15:25:45 +01:00
Alexander Larsson
fb5463fe9b
Use smaller size for enums and flags on the network
...
This makes the protocol more compact. This was mainly done for the commonly
used types. Some seldom used ones are still 32bit for future compatibility.
2012-03-20 15:25:45 +01:00
Alexander Larsson
90193bf160
Remove support for clip by path
...
This is not supported currently anyway and was not generated before.
2012-03-20 15:25:45 +01:00
Alexander Larsson
2e8aecc2a5
spice.proto: No need for @ptr32 as that is now the default
2012-03-20 15:25:45 +01:00
Alexander Larsson
ee597577e1
spice.proto: Don't use @fixedsize for Brush
...
There is no reason to send the maximum size on the network, that is just
a waste of space most of the time.
2012-03-20 15:25:45 +01:00
Alexander Larsson
5b7fb4db45
Don't send zero data item for clips with no data
2012-03-20 15:25:45 +01:00
Alexander Larsson
13d9b32acc
Make pointers 32bit in new protocol format
2012-03-20 15:25:45 +01:00
Alexander Larsson
8b5726ecfa
marshaller: Correctly determine if switches are fixed size
...
Switches are fixed size only if all cases have the same size *and*
it has a default case or all the valid cases are listed.
2012-03-20 15:25:45 +01:00
Alexander Larsson
21c7a6d278
Fix handling of @ptr32 network size
2012-03-20 15:25:45 +01:00
Alexander Larsson
ce0f0032f4
Remove minor markup in unstable protocol as we're resetting minor to 0
2012-03-20 15:25:45 +01:00
Gerd Hoffmann
d217864737
fix use-after-free in spice_marshaller_reset
2012-03-20 15:25:45 +01:00
Alexander Larsson
e9d10ef1d5
Add spice1.proto describing the 0.4 version of the network protocolx
2012-03-20 15:25:44 +01:00
Alexander Larsson
9e8883a1f8
Add support for @virtual markup in spice protocol
...
This means the member is not sent on the network at all.
Instead its initialized to the attribute argument when demarshalled.
This is useful for backwards compatibility support.
2012-03-20 15:25:44 +01:00
Alexander Larsson
7022f4d248
Make internal generated marshaller functions static
2012-03-20 15:25:44 +01:00
Alexander Larsson
bcc5cc0d91
Support extra prefix in code generators
...
This is require when we add a new spice.proto for the old (major 1)
protocol description.
2012-03-20 15:25:44 +01:00
Alexander Larsson
0349d2249d
Support creating marshallers that are called indirectly
...
This is needed if we want to switch marshallers depending on what
major version the remote side has.
2012-03-20 15:25:44 +01:00
Alexander Larsson
eded86ec1e
Add destructor for demarshalled messages
...
This is required because we don't want to free messages that just
refer to the unparsed message (like SpiceMsgData).
Also, in the future we might need it for more complex demarshalling.
2012-03-20 15:25:44 +01:00
Yonit Halperin
9c906e0c2f
Lossy compression of RGBA images (on WAN connection)
...
The RGB channels are compressed using JPEG.
The alpha channel is compressed using LZ.
2012-03-20 15:25:44 +01:00
Yonit Halperin
e48d14df78
applying zlib compression over glz on WAN connection
2012-03-20 15:25:44 +01:00
Alexander Larsson
075087b180
Make generated marshallers build on win32
2012-03-20 15:25:44 +01:00
Alexander Larsson
08d94f60b1
Make sound data @as_ptr to avoid copying data
2012-03-20 15:25:44 +01:00
Alexander Larsson
ebd34a4291
Make ping data @as_ptr to avoid copying data
2012-03-20 15:25:44 +01:00
Alexander Larsson
101ceba717
Make cursor data @as_ptr to avoid copying data
2012-03-20 15:25:44 +01:00
Alexander Larsson
53f8a1a7ba
Support @as_ptr in demarshaller to avoid copying data unnecessary
2012-03-20 15:25:44 +01:00
Alexander Larsson
cc71d4989b
Make pointer types in messages be 64bit in memory
...
Right now we always assume pointers are stored as SPICE_ADDRESS,
i.e. 64bit, independent on the size sent on the network.
This is required for 64bit architectures of course, but slightly overkill
on 32bit architectures, so needs fixing when all SPICE_ADDRESS elements
can be made internal.
2012-03-20 15:25:44 +01:00
Alexander Larsson
6ebdf56797
Don't pack the message structures
2012-03-20 15:25:44 +01:00
Alexander Larsson
c09f1ef5be
Make all message structs internal to spice
...
We move all message structs from spice-protocol to spice as
we want to be able to change these as needed internally. The
on-network format is no longer defined by these structures anyway,
but rather by the spice protocol description.
2012-03-20 15:25:43 +01:00
Alexander Larsson
9a9f1b8081
Allow multiple --include args
2012-03-20 15:25:43 +01:00
Alexander Larsson
212bf0ddee
Make tunnel_service_add members be of cstring array size
2012-03-20 15:25:43 +01:00
Alexander Larsson
35c482dad2
Use @ptr32 for 32bit offsets in spice.proto
2012-03-20 15:25:43 +01:00
Alexander Larsson
8065944cdb
Add @nomarshal in a few places where we're marshalling manually
2012-03-20 15:25:43 +01:00
Alexander Larsson
ac49057d02
spice.proto: add @outvar markup
...
With this we can reference pointer member with no naming conflicts
2012-03-20 15:25:43 +01:00
Alexander Larsson
e83ff054d7
Add support for generating message and structure marshallers
2012-03-20 15:25:43 +01:00
Alexander Larsson
d6a4cad947
Add SpiceMarshaller for easy marshalling
2012-03-20 15:25:43 +01:00
Alexander Larsson
3645036d7e
Client: Use the autogenerated demarshallers
...
When a message has been read from the network we now pass it into
the generated demarshaller for the channel. The demarshaller converts
the network data to in-memory structures that is passed on to the
spice internals.
Additionally it also:
* Converts endianness
* Validates sizes of message and any pointers in it
* Localizes offsets (converts them to pointers)
* Checks for zero offsets in messages where they are not supported
Some of this was previously done using custom code in the client, this
is now removed.
2012-03-20 15:25:43 +01:00
Alexander Larsson
e9b33a194e
Add python code to automake system
2012-03-20 15:25:43 +01:00
Alexander Larsson
522dc931e8
Initial import of spice protocol description and demarshall generator
...
The "spice.proto" file describes in detail the networking prototcol
that spice uses and spice_codegen.py can parse this and generate
demarshallers for such network messages.
2012-03-20 15:25:43 +01:00
Alexander Larsson
7e8a81f49f
There are multiple line attribute flags enums, use only one
2012-03-20 15:25:43 +01:00
Alexander Larsson
d4361e12d0
Add spice_strnlen
2012-03-20 15:25:43 +01:00
Yonit Halperin
f3d77c3e84
support for lossy images in the pixmap cache and fill bits
...
1) add an option to determine if a bitmap can be sent lossy to the client
2) when required, replacing lossy cache items with their correspending
lossless bitmaps
2012-03-20 15:25:43 +01:00
Yonit Halperin
19bca5b373
JPEG support: introducing jpeg encoding for spice bitmaps
2012-03-20 15:25:43 +01:00
Alexander Larsson
41171d081d
Fix spelling errors in comments and strings
2012-03-20 15:25:42 +01:00
Alexander Larsson
4640fbccf6
Use the new byteswap macros from spice-protocol
2012-03-20 15:25:42 +01:00
Gerd Hoffmann
1c4cfe3022
Add C version of find_msb()
...
This patch allows people to build the spice-client on any 32bit/64bit
architecture.
by Bryan Stillwell <bryan@bokeoa.com>
2012-03-20 15:25:42 +01:00
Alexander Larsson
f816707671
Remove all mentions of "cairo" from the code
...
The command line option is renamed from "cairo" to "sw", and
similarly all filenames and types from Cairo to Sw (and similar).
2012-03-20 15:25:42 +01:00
Alexander Larsson
4d086a580d
win32 client: Remove unnecessary GDIImage type
...
We just use pixman_image_t as the "information about image data" structure.
2012-03-20 15:25:42 +01:00
Alexander Larsson
af81d10188
Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SET
2012-03-20 15:25:42 +01:00