[Spice-devel] [PATCH spice-server] spice_protocol: Update many names
Victor Toso
victortoso at redhat.com
Mon Oct 14 10:36:24 UTC 2019
Hi,
On Thu, Oct 10, 2019 at 03:56:30PM +0100, Frediano Ziglio wrote:
> Using an old "renames" file found in spice-protocol repository
> I update some old names in the documentation protocol.
> Also updated some other names manually.
> I processed the file and fixed some code indentation.
> File looks much more up to date.
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
I'd add doc: as prefix of shortlog to be clear that commit
purpose is on docs. I had a quick look and built and checked the
html, looks okay. I've also sent a patch to add this and others
in meson.build
Acked-by: Victor Toso <victortoso at redhat.com>
> ---
> docs/spice_protocol.txt | 808 ++++++++++++++++++++--------------------
> 1 file changed, 404 insertions(+), 404 deletions(-)
>
> diff --git a/docs/spice_protocol.txt b/docs/spice_protocol.txt
> index 58bc01664..d191462d1 100644
> --- a/docs/spice_protocol.txt
> +++ b/docs/spice_protocol.txt
> @@ -51,10 +51,10 @@ is in little endian format.
> .. UINT32 – 32 bits unsigned integer
> .. INT32 - 32 bits signed integer
> .. UINT64 – 64 bits unsigned integer
> -.. ADDRESS - 64 bits unsigned integer, value is the offset of the addressed
> +.. SPICE_ADDRESS - 64 bits unsigned integer, value is the offset of the addressed
> data from the beginning of spice protocol message body (i.e., data following
> -RedDataHeader or RedSubMessage).
> -.. FIXED28_4 – 32 bits fixed point number. 28 high bits are signed integer. Low
> +SpiceDataHeader or SpicedSubMessage).
> +.. SPICE_FIXED28_4 – 32 bits fixed point number. 28 high bits are signed integer. Low
> 4 bits is unsigned integer numerator of a fraction with denominator 16.
> .. POINT
> +
> @@ -75,12 +75,12 @@ INT32 right +
> +
> .. POINTFIX
> +
> -FIXED28_4 x +
> -FIXED28_4 y +
> +SPICE_FIXED28_4 x +
> +SPICE_FIXED28_4 y +
> +
> . Protocol Magic number UINT8[4]
> +
> -RED_MAGIC = { 0x52, 0x45, 0x44, 0x51}
> +SPICE_MAGIC = { 0x52, 0x45, 0x44, 0x51}
> +
> . Protocol version
> +
> @@ -97,8 +97,8 @@ compatibility. It is set to zero on major protocol version increment.
> +
> [source,c]
> ----
> -RED_VERSION_MAJOR = 1
> -RED_VERSION_MINOR = 0
> +SPICE_VERSION_MAJOR = 1
> +SPICE_VERSION_MINOR = 0
> ----
> +
> . Compatibility – UINT32[]
> @@ -117,49 +117,49 @@ expressed using one or more bits in the compatibilities vector.
> +
> [source,c]
> ----
> -RED_CHANNEL_MAIN = 1
> -RED_CHANNEL_DISPLAY = 2
> -RED_CHANNEL_INPUTS = 3
> -RED_CHANNEL_CURSOR = 4
> -RED_CHANNEL_PLAYBACK = 5
> -RED_CHANNEL_RECORD = 6
> +SPICE_CHANNEL_MAIN = 1
> +SPICE_CHANNEL_DISPLAY = 2
> +SPICE_CHANNEL_INPUTS = 3
> +SPICE_CHANNEL_CURSOR = 4
> +SPICE_CHANNEL_PLAYBACK = 5
> +SPICE_CHANNEL_RECORD = 6
> ----
> +
> . Error codes UINT32
> +
> [source,c]
> ----
> -RED_ERROR_OK = 0
> -RED_ERROR_ERROR = 1
> -RED_ERROR_INVALID_MAGIC = 2
> -RED_ERROR_INVALID_DATA = 3
> -RED_ERROR_VERSION_MISMATCH = 4
> -RED_ERROR_NEED_SECURED = 5
> -RED_ERROR_NEED_UNSECURED = 6
> -RED_ERROR_PERMISSION_DENIED = 7
> -RED_ERROR_BAD_CONNECTION_ID = 8
> -RED_ERROR_CHANNEL_NOT_AVAILABLE = 9
> +SPICE_LINK_ERR_OK = 0
> +SPICE_LINK_ERR_ERROR = 1
> +SPICE_LINK_ERR_INVALID_MAGIC = 2
> +SPICE_LINK_ERR_INVALID_DATA = 3
> +SPICE_LINK_ERR_VERSION_MISMATCH = 4
> +SPICE_LINK_ERR_NEED_SECURED = 5
> +SPICE_LINK_ERR_NEED_UNSECURED = 6
> +SPICE_LINK_ERR_PERMISSION_DENIED = 7
> +SPICE_LINK_ERR_BAD_CONNECTION_ID = 8
> +SPICE_LINK_ERR_CHANNEL_NOT_AVAILABLE = 9
> ----
> +
> . Warning codes
> +
> [source,c]
> ----
> -RED_WARN_GENERAL = 0
> +SPICE_WARN_GENERAL = 0
> ----
> +
> . Information codes
> +
> [source,c]
> ----
> -RED_INFO_GENERAL = 0
> +SPICE_INFO_GENERAL = 0
> ----
> +
> . public key buffer size.
> +
> [source,c]
> ----
> -RED_TICKET_PUBKEY_BYTES = 162 /* size needed for holding 1024 bit RSA public
> +SPICE_TICKET_PUBKEY_BYTES = 162 /* size needed for holding 1024 bit RSA public
> key in X.509 SubjectPublicKeyInfo format. */
> ----
> +
> @@ -168,16 +168,16 @@ key in X.509 SubjectPublicKeyInfo format. */
> .. Connection process
> +
> The channel connection process is initiated by the client. The client sends
> -RedLinkMess. In response, the server sends RedLinkReply. When the client
> -receives RedLinkReply, it examines the error code and in case there is no
> -error it encrypts its password with public key received in RedLinkReply and
> +SpiceLinkMess. In response, the server sends SpiceLinkReply. When the client
> +receives SpiceLinkReply, it examines the error code and in case there is no
> +error it encrypts its password with public key received in SpiceLinkReply and
> sends it to the server. The server receive the password and sends the link
> result to the client. The client examines the link result, and in case the
> -result equals to RED_ERROR_OK, a valid connection is established.
> +result equals to SPICE_LINK_ERR_OK, a valid connection is established.
> +
> -Channel connection for channel types other then RED_CHANNEL_MAIN is allowed
> -only after the client has active RED_CHANNEL_MAIN channel connection. Only one
> -RED_CHANNEL_MAIN connection is allowed, and this channel connection establishes
> +Channel connection for channel types other then SPICE_CHANNEL_MAIN is allowed
> +only after the client has active SPICE_CHANNEL_MAIN channel connection. Only one
> +SPICE_CHANNEL_MAIN connection is allowed, and this channel connection establishes
> spice session with the remote server.
> +
> .. Ticketing
> @@ -188,33 +188,33 @@ server consisting of a password and time validity. After time validity passes,
> the whole ticket is expired. The ticket is encrypted. To encrypt, server
> generates a 1024 bit RSA key and send the public part to the client (via
> RedLinkInfo). Client uses this key to encrypt the password and send it back to
> -server (after RedLinkMess). Server decrypt the password, compare it to ticket
> +server (after SpiceLinkMess). Server decrypt the password, compare it to ticket
> and ensure it was received within the allowed time-frame.
> +
> -.. RedLinkMess definition.
> +.. SpiceLinkMess definition.
> +
> [source,c]
> ----
> UINT32 magic
> ----
> +
> -value of this fields must be equal to RED_MAGIC
> +value of this fields must be equal to SPICE_MAGIC
> +
> [cols="2*"]
> |===
> |UINT32 major_version
> -| value of this fields must be equal to RED_VERSION_MAJOR
> +| value of this fields must be equal to SPICE_VERSION_MAJOR
>
> |UINT32 minor_version
> -|value of this fields must be equal to RED_VERSION_MINOR
> +|value of this fields must be equal to SPICE_VERSION_MINOR
>
> |UINT32 size
> |number of bytes following this field to the end of this message.
>
> |UINT32 connection_id
> -|In case of a new session (i.e., channel type is RED_CHANNEL_MAIN) this field
> +|In case of a new session (i.e., channel type is SPICE_CHANNEL_MAIN) this field
> is set to zero, and in response the server will allocate session id and will
> -send it via the RedLinkReply message. In case of all other channel types, this
> +send it via the SpiceLinkReply message. In case of all other channel types, this
> field will be equal to the allocated session id.
>
> |UINT8 channel_type
> @@ -235,12 +235,12 @@ type.
> from the “ size” member (i.e., from the address of the “connection_id” member).
> |===
> +
> -.. RedLinkReply definition
> +.. SpiceLinkReply definition
> +
> [cols="2*"]
> |===
> |UINT32 magic
> -|value of this field must be equal to RED_MAGIC
> +|value of this field must be equal to SPICE_MAGIC
>
> |UINT32 major_version
> |server major protocol version.
> @@ -252,9 +252,9 @@ from the “ size” member (i.e., from the address of the “connection_id” m
> |number of bytes following this field to the end of this message.
>
> |UINT32 error
> -|Error codes (i.e., RED_ERROR_?)
> +|Error codes (i.e., SPICE_LINK_ERR_?)
>
> -|UINT8[RED_TICKET_PUBKEY_BYTES] pub_key
> +|UINT8[SPICE_TICKET_PUBKEY_BYTES] pub_key
> |1024 bit RSA public key in X.509 SubjectPublicKeyInfo format.
>
> |UINT32 num_common_caps
> @@ -272,20 +272,20 @@ the “connection_id” member)
> .. Encrypted Password
> +
> Client sends RSA encrypted password, with public key received from server (in
> -RedLinkReply). Format is EME-OAEP as described in PKCS#1 v2.0 with SHA-1, MGF1
> +SpiceLinkReply). Format is EME-OAEP as described in PKCS#1 v2.0 with SHA-1, MGF1
> and an empty encoding parameter.
> +
> .. Link Result UINT32
> +
> -The server sends link result error code (i.e., RED_ERROR_?)
> +The server sends link result error code (i.e., SPICE_LINK_ERR_?)
> +
> . Protocol message definition
> +
> All messages transmitted after the link stage have a common message layout. It
> -begins with RedDataHeader which describes one main message and an optional sub
> +begins with SpiceDataHeader which describes one main message and an optional sub
> messages list.
> +
> -.. RedDataHeader
> +.. SpiceDataHeader
> +
> [cols="2*"]
> |===
> @@ -294,22 +294,22 @@ messages list.
> value of 1 and are incremented on every message transmitted.
>
> |UINT16 type
> -|message type can be one that is accepted by all channel (e.g., RED_MIGRATE),
> -or specific to a channel type (e.g., RED_DISPLAY_MODE for display channel).
> +|message type can be one that is accepted by all channel (e.g., SPICE_MSG_MIGRATE),
> +or specific to a channel type (e.g., SPICE_MSG_DISPLAY_MODE for display channel).
>
> |UINT32 size
> |size of the message body in bytes. In case sub_list (see below) is not zero
> then the actual main message size is sub_list. The message body follows
> -RedDataHeader
> +SpiceDataHeader
>
> |UINT32 sub_list
> |optional sub-messages list. If this field is not zero then sub_list is the
> -offset in bytes to RedSubMessageList from the end of RedDataHeader. All
> +offset in bytes to SpiceSubMessageList from the end of SpiceDataHeader. All
> sub-messages need to be executed before the main message, and in the order they
> appear in the sub-messageslist.
> |===
> +
> -.. RedSubMessageList
> +.. SpiceSubMessageList
> +
> [cols="2*"]
> |===
> @@ -318,19 +318,19 @@ appear in the sub-messageslist.
>
> |UINT32[] sub_messages
> |array of offsets to sub message, offset is number of bytes from the end of
> -RedDataHeader to start of RedSubMessage.
> +SpiceDataHeader to start of SpicedSubMessage.
> |===
> +
> -.. RedSubMessage
> +.. SpicedSubMessage
> +
> [cols="2*"]
> |===
> |UINT16 type
> -|message type can be one that is accepted by all channel (e.g., RED_MIGRATE),
> -or specific to a channel type (e.g., RED_DISPLAY_MODE for display channel).
> +|message type can be one that is accepted by all channel (e.g., SPICE_MSG_MIGRATE),
> +or specific to a channel type (e.g., SPICE_MSG_DISPLAY_MODE for display channel).
>
> |UINT32 size
> -|size of the message body in bytes. The message body follows RedSubMessage.
> +|size of the message body in bytes. The message body follows SpicedSubMessage.
> |===
> +
> . Common messages and messaging naming convention
> @@ -344,83 +344,83 @@ client the prefixes are REDC and Redc.
> +
> [source,c]
> ----
> -RED_MIGRATE = 1
> -RED_MIGRATE_DATA = 2
> -RED_SET_ACK = 3
> -RED_PING = 4
> -RED_WAIT_FOR_CHANNELS = 5
> -RED_DISCONNECTING = 6
> -RED_NOTIFY = 7
> +SPICE_MSG_MIGRATE = 1
> +SPICE_MSG_MIGRATE_DATA = 2
> +SPICE_MSG_SET_ACK = 3
> +SPICE_MSG_PING = 4
> +SPICE_MSG_WAIT_FOR_CHANNELS = 5
> +SPICE_MSG_DISCONNECTING = 6
> +SPICE_MSG_NOTIFY = 7
>
> -RED_FIRST_AVAIL_MESSAGE = 101
> +SPICE_MSG_FIRST_AVAIL = 101
> ----
> +
> -Specific channel server messages start from RED_FIRST_AVAIL_MESSAGE. All
> -message types from RED_NOTIFY + 1 to RED_FIRST_AVAIL_MESSAGE – 1 are reserved
> +Specific channel server messages start from SPICE_MSG_FIRST_AVAIL. All
> +message types from SPICE_MSG_NOTIFY + 1 to SPICE_MSG_FIRST_AVAIL – 1 are reserved
> for further use.
> +
> . Client messages that are common to all channels
> +
> [source,c]
> ----
> -REDC_ACK_SYNC = 1
> -REDC_ACK = 2
> -REDC_PONG = 3
> -REDC_MIGRATE_FLUSH_MARK = 4
> -REDC_MIGRATE_DATA = 5
> -REDC_DISCONNECTING = 6
> +SPICE_MSGC_ACK_SYNC = 1
> +SPICE_MSGC_ACK = 2
> +SPICE_MSGC_PONG = 3
> +SPICE_MSGC_MIGRATE_FLUSH_MARK = 4
> +SPICE_MSGC_MIGRATE_DATA = 5
> +SPICE_MSGC_DISCONNECTING = 6
>
> -REDC_FIRST_AVAIL_MESSAGE = 101
> +SPICE_MSGC_FIRST_AVAIL = 101
> ----
> +
> -Specific channel client messages start from REDC_FIRST_AVAIL_MESSAGE. All
> -message types from REDC_ACK_SYNC+ 1 to REDC_FIRST_AVAIL_MESSAGE – 1 are
> +Specific channel client messages start from SPICE_MSGC_FIRST_AVAIL. All
> +message types from SPICE_MSGC_ACK_SYNC+ 1 to SPICE_MSGC_FIRST_AVAIL – 1 are
> reserved for further use.
> +
> . Messages acknowledgment.
> +
> Spice provides a set of messages for requesting an acknowledgment on every one
> or more messages that the client consumes. In order to request acknowledgment
> -messages, the server sends RED_SET_ACK with the requested acknowledgment
> +messages, the server sends SPICE_MSG_SET_ACK with the requested acknowledgment
> frequency – after how many received messages the client sends acknowledgment. .
> -In response, the client sends REDC_ACK_SYNC. From this point, for every
> -requested number of messages that the client receive, it will send a REDC_ACK
> +In response, the client sends SPICE_MSGC_ACK_SYNC. From this point, for every
> +requested number of messages that the client receive, it will send a SPICE_MSGC_ACK
> message.
> +
> -.. RED_SET_ACK, RedSetAck
> +.. SPICE_MSG_SET_ACK, SpiceMsgSetAck
> +
> [cols="2*"]
> |===
> |UINT32 generation
> |the generation of the acknowledgment sequence. This value will be sent back by
> -REDC_ACK_SYNC. It is used for acknowledgment accounting synchronization.
> +SPICE_MSGC_ACK_SYNC. It is used for acknowledgment accounting synchronization.
>
> |UINT32 window
> |the window size. Spice client will send acknowledgment for every “window”
> messages. Zero window size will disable messages acknowledgment.
> |===
> +
> -.. REDC_ACK_SYNC, UINT32
> +.. SPICE_MSGC_ACK_SYNC, UINT32
> +
> [cols="2*"]
> |===
> |UINT32
> -|Spice client sends RedSetAck.generation in response to RED_SET_ACK
> +|Spice client sends SpiceMsgSetAck.generation in response to SPICE_MSG_SET_ACK
> |===
> +
> -.. REDC_ACK, VOID
> +.. SPICE_MSGC_ACK, VOID
> +
> -Spice client sends REDC_ACK message for every RedSetAck.window messages it
> +Spice client sends SPICE_MSGC_ACK message for every SpiceMsgSetAck.window messages it
> consumes.
> +
> . Ping
> +
> Spice protocol provides ping messages for debugging purpose. Spice server sends
> -RED_PING and the client responses with REDC_PONG. The server can measure round
> +SPICE_MSG_PING and the client responses with SPICE_MSGC_PONG. The server can measure round
> trip time by subtracting current time with the time that is returned in
> -REDC_PONG message.
> +SPICE_MSGC_PONG message.
> +
> -.. RED_PING, RedPing
> +.. SPICE_MSG_PING, SpiceMsgPing
> +
> [cols="2*"]
> |===
> @@ -431,15 +431,15 @@ REDC_PONG message.
> |time stamp of this message
> |===
> +
> -.. REDC_PONG, RedPong
> +.. SPICE_MSGC_PONG, RedPong
> +
> [cols="2*"]
> |===
> |UINT32 id
> -|Spice client copies it from RedPing.id
> +|Spice client copies it from SpiceMsgPing.id
>
> |UINT64 time
> -|Spice client copies it from RedPing.time
> +|Spice client copies it from SpiceMsgPing.time
> |===
> +
> . Channel migration
> @@ -450,33 +450,33 @@ connections between spice servers. We will refer these servers as source and
> destination. Main channel is used for initiating and controlling the migration
> process. The following describes the actual channel migration process.
> +
> -Channel migration process starts with sending RED_MIGRATE message from the
> +Channel migration process starts with sending SPICE_MSG_MIGRATE message from the
> server. The client receives the message, examine the attached flags and: if the
> -server requests messages flush (i.e., RED_MIGRATE_NEED_FLUSH flag is on), the
> -client sends REDC_MIGRATE_FLUSH_MARK message to the server. This procedure can
> +server requests messages flush (i.e., SPICE_MIGRATE_NEED_FLUSH flag is on), the
> +client sends SPICE_MSGC_MIGRATE_FLUSH_MARK message to the server. This procedure can
> be used to ensure safe delivery of all mid air messages before performing the
> migration action. if the server requests data transfer (i.e.,
> -RED_MIGRATE_NEED_DATA_TRANSFER flag is on), the client expects to receive one
> +SPICE_MIGRATE_NEED_DATA_TRANSFER flag is on), the client expects to receive one
> last message from the server before migrating to destination. This message type
> -must be RED_MIGRATE_DATA type. The content of the received message will be
> +must be SPICE_MSG_MIGRATE_DATA type. The content of the received message will be
> transmitted to the destination on connection swap.
> +
> Afterward, the client swaps communication channels (i.e., starts using the
> connection with the destination server). The client can close connection with
> the source server only after all other channels also have finished the
> migration process. If the server side has requested data transfer, the client
> -first transmits REDC_MIGRATE_DATA message containing the data received on
> -RED_MIGRATE_DATA.
> +first transmits SPICE_MSGC_MIGRATE_DATA message containing the data received on
> +SPICE_MSG_MIGRATE_DATA.
> +
> .. Migration flags
> +
> [source,c]
> ----
> -RED_MIGRATE_NEED_FLUSH = 1
> -RED_MIGRATE_NEED_DATA_TRANSFER = 2
> +SPICE_MIGRATE_NEED_FLUSH = 1
> +SPICE_MIGRATE_NEED_DATA_TRANSFER = 2
> ----
> +
> -.. RED_MIGRATE, RedMigrate
> +.. SPICE_MSG_MIGRATE, SpiceMsgMigrate
> +
> [cols="2*"]
> |===
> @@ -484,51 +484,51 @@ RED_MIGRATE_NEED_DATA_TRANSFER = 2
> |combination of red migration flags.
> |===
> +
> -... RED_MIGRATE_DATA, UINT8[]
> +... SPICE_MSG_MIGRATE_DATA, UINT8[]
> +
> Server migrate data, body of this message is variable length raw data that is
> determined by each channel type independently
> +
> -... REDC_MIGRATE_FLUSH_MARK, VOID
> +... SPICE_MSGC_MIGRATE_FLUSH_MARK, VOID
> +
> This messages mark completion of client communication channel flushing.
> +
> -.. REDC_MIGRATE_DATA, UINT8[]
> +.. SPICE_MSGC_MIGRATE_DATA, UINT8[]
> +
> Post migration data, sent by client to the destination, containing the data
> -sent by the source using the RED_MIGRATE_DATA message.
> +sent by the source using the SPICE_MSG_MIGRATE_DATA message.
> +
> [[channel_sync]]
> . Channel synchronization
> +
> Spice provides mechanism for synchronizing channels message execution on the
> -client side. The server sends RED_WAIT_FOR_CHANNELS message which contains a
> -list of channels messages to wait for (i.e., RedWaitForChannels). The Spice
> +client side. The server sends SPICE_MSG_WAIT_FOR_CHANNELS message which contains a
> +list of channels messages to wait for (i.e., SpiceMsgWaitForChannels). The Spice
> client will wait for completion of all the messages that are in that list
> before executing any more messages.
> +
> -.. RedWaitForChannel
> +.. SpiceWaitForChannel
> +
> [cols="2*"]
> |===
> |UINT8 type
> -|channel type (e.g., RED_CHANNEL_INPUTS)
> +|channel type (e.g., SPICE_CHANNEL_INPUTS)
>
> |UINT8 id
> |channel id.
>
> |UIN64 serial
> -|message serial id (i.e, RedDataHeader.serial) to wait for
> +|message serial id (i.e, SpiceDataHeader.serial) to wait for
> |===
> +
> -... RED_WAIT_FOR_CHANNELS, RedWaitForChannels
> +... SPICE_MSG_WAIT_FOR_CHANNELS, SpiceMsgWaitForChannels
> +
> [cols="2*"]
> |===
> |UINT8 wait_count
> |number of items in wait_list
>
> -|RedWaitForChannel[] wait_list
> +|SpiceWaitForChannel[] wait_list
> |list of channels to wait for.
> |===
> +
> @@ -537,7 +537,7 @@ before executing any more messages.
> The following messages are used for notification about orderly disconnection
> of the server or client.
> +
> -.. RED_DISCONNECTING, RedDisconnect
> +.. SPICE_MSG_DISCONNECTING, SpiceMsgDisconnect
> +
> [cols="2*"]
> |===
> @@ -545,10 +545,10 @@ of the server or client.
> |time stamp of disconnect action on the server.
>
> |UINT32 reason
> -|disconnect reason, RED_ERROR_?
> +|disconnect reason, SPICE_LINK_ERR_?
> |===
> +
> -.. REDC_DISCONNECTING, RedcDisconnect
> +.. SPICE_MSGC_DISCONNECTING, RedcDisconnect
> +
> [cols="2*"]
> |===
> @@ -556,18 +556,18 @@ of the server or client.
> |time stamp of disconnect action on the client.
>
> |UINT32 reason
> -|disconnect reason, RED_ERROR_?
> +|disconnect reason, SPICE_LINK_ERR_?
> |===
> +
> . Server notification
> +
> Spice protocol defines message for delivering notifications to the client using
> -RED_NOTIFY message. Messages are categorized by severity and visibility. The
> +SPICE_MSG_NOTIFY message. Messages are categorized by severity and visibility. The
> later can be used as hint for the way the message is displayed to the user. For
> example high visibility notifications will trigger message box and low
> visibility notifications will be directed to the log.
> +
> -.. RED_NOTIFY, RedNotify
> +.. SPICE_MSG_NOTIFY, SpiceMsgNotify
> +
> [cols="2*"]
> |===
> @@ -581,7 +581,7 @@ visibility notifications will be directed to the log.
> |one of RED_NOTIFY_VISIBILITY_?
>
> |UINT32 what
> -|one of RED_ERROR_?, RED_WARN_? Or RED_INFO_?, depending on severity.
> +|one of SPICE_LINK_ERR_?, RED_WARN_? Or RED_INFO_?, depending on severity.
>
> |UINT32 message_len
> |size of message
> @@ -638,7 +638,7 @@ receives REDC_MAIN_MIGRATE_READY he can commence the migration process. The
> server can send RED_MAIN_MIGRATE_CANCEL in order to instruct the client to
> cancel the migration process.
> +
> -.. RED_MAIN_MIGRATE_BEGIN, RedMigrationBegin
> +.. RED_MAIN_MIGRATE_BEGIN, SpiceMsgMainMigrationBegin
> +
> [cols="2*"]
> |===
> @@ -677,11 +677,11 @@ position and shape commands. Spice main channel is used for mouse mode control.
> +
> [source,c]
> ----
> -RED_MOUSE_MODE_SERVER = 1
> -RED_MOUSE_MODE_CLIENT = 2
> +SPICE_MOUSE_MODE_SERVER = 1
> +SPICE_MOUSE_MODE_CLIENT = 2
> ----
> +
> -.. RED_MAIN_MOUSE_MODE, RedMouseMode
> +.. RED_MAIN_MOUSE_MODE, SpiceMsgMainMouseMode
> +
> Spice server sends this message on every mouse mode change
> +
> @@ -698,7 +698,7 @@ Spice server sends this message on every mouse mode change
> +
> Spice client sends this message to request specific mouse mode. It is not
> guarantied that the server will accept the request. Only on receiving
> -RED_MOUSE_MODE message, the client can know of actual mouse mode change.
> +SPICE_MSG_MAIN_MOUSE_MODE message, the client can know of actual mouse mode change.
> +
> [cols="2*"]
> |===
> @@ -708,16 +708,16 @@ RED_MOUSE_MODE message, the client can know of actual mouse mode change.
> +
> . Main channel init message
> +
> -Spice server must send RedInit as the first transmitted message t and is
> +Spice server must send SpiceMsgMainInit as the first transmitted message t and is
> disallowed to send it at any other point.
> +
> -.. RED_MAIN_INIT, RedInit
> +.. RED_MAIN_INIT, SpiceMsgMainInit
> +
> [cols="2*"]
> |===
> |UINT32 session_id
> |session id is generated by the server. This id will be send on every new
> -channel connection within this session (i.e., in RedLinkMess.connection_id).
> +channel connection within this session (i.e., in SpiceLinkMess.connection_id).
>
> |UINT32 display_channels_hint
> |optional hint of expected number of display channels. Zero is defined as an
> @@ -755,7 +755,7 @@ message the client can decide to link with the new available channel(s). The
> server must receive REDC_MAIN_ATTACH_CHANNELS before sending any
> RED_MAIN_CHANNELS_LIST message.
> +
> -.. RED_MAIN_CHANNELS_LIST, RedChannels
> +.. RED_MAIN_CHANNELS_LIST, SpiceMsgChannels
> +
> [cols="2*"]
> |===
> @@ -771,7 +771,7 @@ RED_MAIN_CHANNELS_LIST message.
> [cols="2*"]
> |===
> |UINT8 type
> -|channel type, one of RED_CHANNEL_? channel types, except for RED_CHANNEL_MAIN
> +|channel type, one of RED_CHANNEL_? channel types, except for SPICE_CHANNEL_MAIN
>
> |UINT8 id
> |channel id
> @@ -853,14 +853,14 @@ messages having unknown type (i.e., receive and dump).
> [cols="2*"]
> |===
> |UINT32
> -|disconnect error code RED_ERROR_?
> +|disconnect error code SPICE_LINK_ERR_?
> |===
> +
> -.. RED_AGENT_MAX_DATA_SIZE = 2048
> +.. SPICE_AGENT_MAX_DATA_SIZE = 2048
> .. RED_MAIN_AGENT_DATA, UINT8[]
> +
> -Agent packet is the entire message body (i.e. RedDataHeader.size). The maximum
> -packet size is RED_AGENT_MAX_DATA_SIZE.
> +Agent packet is the entire message body (i.e. SpiceDataHeader.size). The maximum
> +packet size is SPICE_AGENT_MAX_DATA_SIZE.
> +
> .. RED_MAIN_AGENT_TOKEN, UINT32
> +
> @@ -880,8 +880,8 @@ packet size is RED_AGENT_MAX_DATA_SIZE.
> +
> .. REDC_MAIN_AGENT_DATA, UINT8[]
> +
> -Agent packet is the entire message body (i.e. RedDataHeader.size). The maximum
> -packet size is RED_AGENT_MAX_DATA_SIZE.
> +Agent packet is the entire message body (i.e. SpiceDataHeader.size). The maximum
> +packet size is SPICE_AGENT_MAX_DATA_SIZE.
> +
> .. REDC_MAIN_AGENT_TOKEN, UINT32
> +
> @@ -899,35 +899,35 @@ Spice Inputs channel controls the server mouse and the keyboard.
> +
> [source,c]
> ----
> -REDC_INPUTS_KEY_DOWN = 101
> -REDC_INPUTS_KEY_UP = 102
> -REDC_INPUTS_KEY_MODIFAIERS = 103
> +SPICE_MSGC_INPUTS_KEY_DOWN = 101
> +SPICE_MSGC_INPUTS_KEY_UP = 102
> +SPICE_MSGC_INPUTS_KEY_MODIFIERS = 103
>
> -REDC_INPUTS_MOUSE_MOTION = 111
> -REDC_INPUTS_MOUSE_POSITION = 112
> -REDC_INPUTS_MOUSE_PRESS = 113
> -REDC_INPUTS_MOUSE_RELEASE = 114
> +SPICE_MSGC_INPUTS_MOUSE_MOTION = 111
> +SPICE_MSGC_INPUTS_MOUSE_POSITION = 112
> +SPICE_MSGC_INPUTS_MOUSE_PRESS = 113
> +SPICE_MSGC_INPUTS_MOUSE_RELEASE = 114
> ----
> +
> . Server Messages
> +
> [source,c]
> ----
> -RED_INPUTS_INIT = 101
> -RED_INPUTS_KEY_MODIFAIERS = 102
> +SPICE_MSG_INPUTS_INIT = 101
> +SPICE_MSG_INPUTS_KEY_MODIFIERS = 102
>
> -RED_INPUTS_MOUSE_MOTION_ACK = 111
> +SPICE_MSG_INPUTS_MOUSE_MOTION_ACK = 111
> ----
> +
> . Keyboard messages
> +
> Spice supports sending keyboard key events and keyboard leds synchronization.
> -The client sends key event using REDC_INPUTS_KEY_DOWN and REDC_INPUTS_KEY_UP
> +The client sends key event using SPICE_MSGC_INPUTS_KEY_DOWN and SPICE_MSGC_INPUTS_KEY_UP
> messages. Key value is expressed using PC AT scan code (see
> <<key_code,KeyCode>>). Keyboard leds synchronization is done by sending
> -RED_INPUTS_KEY_MODIFAIERS message by the server or by sending
> -REDC_INPUTS_KEY_MODIFAIERS by the client, these messages contain keyboard leds
> -state. Keyboard modifiers is also sent by the server using RED_INPUTS_INIT,
> +SPICE_MSG_INPUTS_KEY_MODIFIERS message by the server or by sending
> +SPICE_MSGC_INPUTS_KEY_MODIFIERS by the client, these messages contain keyboard leds
> +state. Keyboard modifiers is also sent by the server using SPICE_MSG_INPUTS_INIT,
> this message must be sent as the first server message and the server mustn't
> send it at any other point.
> +
> @@ -935,12 +935,12 @@ send it at any other point.
> +
> [source,c]
> ----
> -RED_SCROLL_LOCK_MODIFIER = 1
> -RED_NUM_LOCK_MODIFIER = 2
> -RED_CAPS_LOCK_MODIFIER = 4
> +SPICE_SCROLL_LOCK_MODIFIER = 1
> +SPICE_NUM_LOCK_MODIFIER = 2
> +SPICE_CAPS_LOCK_MODIFIER = 4
> ----
> +
> -.. RED_INPUTS_INIT, UINT32
> +.. SPICE_MSG_INPUTS_INIT, UINT32
> +
> [cols="2*"]
> |===
> @@ -948,7 +948,7 @@ RED_CAPS_LOCK_MODIFIER = 4
> |any combination of keyboard led bits. If bit is set then the led is on.
> |===
> +
> -.. RED_INPUTS_KEY_MODIFAIERS, UINT32
> +.. SPICE_MSG_INPUTS_KEY_MODIFIERS, UINT32
> +
> [cols="2*"]
> |===
> @@ -956,7 +956,7 @@ RED_CAPS_LOCK_MODIFIER = 4
> |any combination of keyboard led bits. If bit is set then the led is on.
> |===
> +
> -.. REDC_INPUTS_KEY_MODIFAIERS, UINT32
> +.. SPICE_MSGC_INPUTS_KEY_MODIFIERS, UINT32
> +
> [cols="2*"]
> |===
> @@ -974,7 +974,7 @@ RED_CAPS_LOCK_MODIFIER = 4
> bytes for supporting extended codes. A code is terminated by a zero byte.
> |===
> +
> -.. REDC_INPUTS_KEY_DOWN, KeyCode
> +.. SPICE_MSGC_INPUTS_KEY_DOWN, KeyCode
> +
> [cols="2*"]
> |===
> @@ -982,7 +982,7 @@ bytes for supporting extended codes. A code is terminated by a zero byte.
> |client sends this message to notify of key press event.
> |===
> +
> -.. REDC_INPUTS_KEY_UP, KeyCode
> +.. SPICE_MSGC_INPUTS_KEY_UP, KeyCode
> +
> KeyCode – client sends this message to notify of key release event.
> +
> @@ -1005,30 +1005,30 @@ and redc_inputs_mouse_release messages.
> +
> [source,c]
> ----
> -REDC_MOUSE_LBUTTON = 1, left button
> -REDC_MOUSE_MBUTTON = 2, middle button
> -REDC_MOUSE_RBUTTON = 3, right button
> -REDC_MOUSE_UBUTTON = 4, scroll up button
> -REDC_MOUSE_DBUTTON = 5, scroll down button
> +SPICE_MOUSE_BUTTON_LEFT = 1, left button
> +SPICE_MOUSE_BUTTON_MIDDLE = 2, middle button
> +SPICE_MOUSE_BUTTON_RIGHT = 3, right button
> +SPICE_MOUSE_BUTTON_UP = 4, scroll up button
> +SPICE_MOUSE_BUTTON_DOWN = 5, scroll down button
> ----
> +
> .. Buttons masks
> +
> [source,c]
> ----
> -REDC_LBUTTON_MASK = 1, left button mask
> -REDC_MBUTTON_MASK = 2, middle button mask
> -REDC_RBUTTON_MASK = 4, right button mask
> +SPICE_MOUSE_BUTTON_MASK_LEFT = 1, left button mask
> +SPICE_MOUSE_BUTTON_MASK_MIDDLE = 2, middle button mask
> +SPICE_MOUSE_BUTTON_MASK_RIGHT = 4, right button mask
> ----
> +
> -.. RED_MOTION_ACK_BUNCH
> +.. SPICE_INPUT_MOTION_ACK_BUNCH
> +
> [source,c]
> ----
> -RED_MOTION_ACK_BUNCH = 4
> +SPICE_INPUT_MOTION_ACK_BUNCH = 4
> ----
> +
> -.. REDC_INPUTS_MOUSE_MOTION, RedcMouseMotion
> +.. SPICE_MSGC_INPUTS_MOUSE_MOTION, SpiceMsgcMouseMotion
> +
> [cols="2*"]
> |===
> @@ -1044,7 +1044,7 @@ describe unpressed button.
>
> |===
> +
> -.. REDC_INPUTS_MOUSE_POSITION, RedcMousePosition
> +.. SPICE_MSGC_INPUTS_MOUSE_POSITION, SpiceMsgcMousePosition
> +
> [cols="2*"]
> |===
> @@ -1062,7 +1062,7 @@ describe unpressed button.
> |id of the display that client mouse is on.
> |===
> +
> -.. REDC_INPUTS_MOUSE_PRESS, RedcMousePress
> +.. SPICE_MSGC_INPUTS_MOUSE_PRESS, SpiceMsgcMousePress
> +
> [cols="2*"]
> |===
> @@ -1074,7 +1074,7 @@ describe unpressed button.
> bit describes unpressed button.
> |===
> +
> -.. REDC_INPUTS_MOUSE_RELEASE, RedcMouseRelease
> +.. SPICE_MSGC_INPUTS_MOUSE_RELEASE, SpiceMsgcMouseRelease
> +
> [cols="2*"]
> |===
> @@ -1098,75 +1098,75 @@ supports several images compression methods for reducing network traffic.
> +
> [source,c]
> ----
> -RED_DISPLAY_MODE = 101
> -RED_DISPLAY_MARK = 102
> -RED_DISPLAY_RESET = 103
> -RED_DISPLAY_COPY_BITS = 104
> +SPICE_MSG_DISPLAY_MODE = 101
> +SPICE_MSG_DISPLAY_MARK = 102
> +SPICE_MSG_DISPLAY_RESET = 103
> +SPICE_MSG_DISPLAY_COPY_BITS = 104
>
> -RED_DISPLAY_INVAL_LIST = 105
> -RED_DISPLAY_INVAL_ALL_IMAGES = 106
> -RED_DISPLAY_INVAL_PALETTE = 107
> -RED_DISPLAY_INVAL_ALL_PALETTES = 108
> +SPICE_MSG_DISPLAY_INVAL_LIST = 105
> +SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS = 106
> +SPICE_MSG_DISPLAY_INVAL_PALETTE = 107
> +SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES = 108
>
> -RED_DISPLAY_STREAM_CREATE = 122
> -RED_DISPLAY_STREAM_DATA = 123
> -RED_DISPLAY_STREAM_CLIP = 124
> -RED_DISPLAY_STREAM_DESTROY = 125
> -RED_DISPLAY_STREAM_DESTROY_ALL = 126
> +SPICE_MSG_DISPLAY_STREAM_CREATE = 122
> +SPICE_MSG_DISPLAY_STREAM_DATA = 123
> +SPICE_MSG_DISPLAY_STREAM_CLIP = 124
> +SPICE_MSG_DISPLAY_STREAM_DESTROY = 125
> +SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL = 126
>
> -RED_DISPLAY_DRAW_FILL = 302
> -RED_DISPLAY_DRAW_OPAQUE = 303
> -RED_DISPLAY_DRAW_COPY = 304
> -RED_DISPLAY_DRAW_BLEND = 305
> -RED_DISPLAY_DRAW_BLACKNESS = 306
> -RED_DISPLAY_DRAW_WHITENESS = 307
> -RED_DISPLAY_DRAW_INVERS = 308
> -RED_DISPLAY_DRAW_ROP3 = 309
> -RED_DISPLAY_DRAW_STROKE = 310
> -RED_DISPLAY_DRAW_TEXT = 311
> -RED_DISPLAY_DRAW_TRANSPARENT = 312
> -RED_DISPLAY_DRAW_ALPHA_BLEND = 313
> +SPICE_MSG_DISPLAY_DRAW_FILL = 302
> +SPICE_MSG_DISPLAY_DRAW_OPAQUE = 303
> +SPICE_MSG_DISPLAY_DRAW_COPY = 304
> +SPICE_MSG_DISPLAY_DRAW_BLEND = 305
> +SPICE_MSG_DISPLAY_DRAW_BLACKNESS = 306
> +SPICE_MSG_DISPLAY_DRAW_WHITENESS = 307
> +SPICE_MSG_DISPLAY_DRAW_INVERS = 308
> +SPICE_MSG_DISPLAY_DRAW_ROP3 = 309
> +SPICE_MSG_DISPLAY_DRAW_STROKE = 310
> +SPICE_MSG_DISPLAY_DRAW_TEXT = 311
> +SPICE_MSG_DISPLAY_DRAW_TRANSPARENT = 312
> +SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND = 313
> ----
> +
> . Client messages
> +
> [source,c]
> ----
> -REDC_DISPLAY_INIT = 101
> +SPICE_MSGC_DISPLAY_INIT = 101
> ----
> +
> . Operation flow
> +
> -Spice server sends to the client a mode message using RED_DISPLAY_MODE for
> +Spice server sends to the client a mode message using SPICE_MSG_DISPLAY_MODE for
> specifying the current draw area size and format. In response the client
> creates a draw area for rendering all the followed rendering commands sent by
> the server. The client will expose the new remote display area content (i.e.,
> after mode command) only after it receives a mark command (i.e.,
> -RED_DISPLAY_MARK) from the server. The server can send a reset command using
> -RED_DISPLAY_RESET to instruct the client to drop its draw area and palette
> +SPICE_MSG_DISPLAY_MARK) from the server. The server can send a reset command using
> +SPICE_MSG_DISPLAY_RESET to instruct the client to drop its draw area and palette
> cache. Sending mode message is allowed only while no active draw area exists
> on the client side. Sending reset message is allowed only while active draw
> area exists on client side. Sending mark message is allowed only once, between
> mode and reset messages. Draw commands, copy bits command and stream commands
> are allowed only if the client have an active display area (i.e., between
> -RED_DISPLAY_MODE to RED_DISPLAY_RESET).
> +SPICE_MSG_DISPLAY_MODE to SPICE_MSG_DISPLAY_RESET).
> +
> On channel connection, the client optionally sends an init message, using
> -REDC_DISPLAY_INIT, in order to enable image caching and global dictionary
> +SPICE_MSGC_DISPLAY_INIT, in order to enable image caching and global dictionary
> compression. The message includes the cache id and its size and the size of the
> dictionary compression window. These sizes and id are determined by the client.
> It is disallowed to send more then one init message.
> +
> Color pallets cache are manged by the server.
> Items cache insertion commands are sent as part of the rendering commands.
> -Cache items removal are sent explicitly using RED_DISPLAY_INVAL_LIST or
> -RED_DISPLAY_INVAL_LIST server messages. Resetting client caches is done by
> -sending RED_DISPLAY_INVAL_ALL_IMAGES or RED_DISPLAY_INVAL_ALL_PALETTES server
> +Cache items removal are sent explicitly using SPICE_MSG_DISPLAY_INVAL_LIST or
> +SPICE_MSG_DISPLAY_INVAL_LIST server messages. Resetting client caches is done by
> +sending SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS or SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES server
> messages.
> +
> . Draw area control
> +
> -.. RED_DISPLAY_MODE, RedMode
> +.. SPICE_MSG_DISPLAY_MODE, SpiceMsgDisplayMode
> +
> [cols="2*"]
> |===
> @@ -1180,11 +1180,11 @@ messages.
> |color depth of the display area. Valid values are 16bpp or 32bpp.
> |===
> +
> -.. RED_DISPLAY_MARK, VOID
> +.. SPICE_MSG_DISPLAY_MARK, VOID
> +
> Mark the beginning of the display area visibility
> +
> -.. RED_DISPLAY_RESET, VOID
> +.. SPICE_MSG_DISPLAY_RESET, VOID
> +
> Drop current display area of the channel and reset palette cache
> +
> @@ -1199,77 +1199,77 @@ following definitions of rendering commands this combination is referred to by
> +
> [source,c]
> ----
> -ROPD_INVERS_SRC = 1
> +SPICE_ROPD_INVERS_SRC = 1
> ----
> +
> Source Image need to be inverted before rendering
> +
> [source,c]
> ----
> -ROPD_INVERS_BRUSH = 2
> +SPICE_ROPD_INVERS_BRUSH = 2
> ----
> +
> -Brush need to be inverted before rendering
> +SpiceBrush need to be inverted before rendering
> +
> [source,c]
> ----
> -ROPD_INVERS_DEST = 4
> +SPICE_ROPD_INVERS_DEST = 4
> ----
> +
> Destination area need to be inverted before rendering
> +
> [source,c]
> ----
> -ROPD_OP_PUT = 8
> +SPICE_ROPD_OP_PUT = 8
> ----
> +
> -Copy operation should be used.
> +SpiceCopy operation should be used.
> +
> [source,c]
> ----
> -ROPD_OP_OR = 16
> +SPICE_ROPD_OP_OR = 16
> ----
> +
> OR operation should be used.
> +
> [source,c]
> ----
> -ROPD_OP_AND = 32
> +SPICE_ROPD_OP_AND = 32
> ----
> +
> AND operation should be used.
> +
> [source,c]
> ----
> -ROPD_OP_XOR = 64
> +SPICE_ROPD_OP_XOR = 64
> ----
> +
> XOR operation should be used.
> +
> [source,c]
> ----
> -ROPD_OP_BLACKNESS = 128
> +SPICE_ROPD_OP_BLACKNESS = 128
> ----
> +
> Destination pixel should be replaced by black
> +
> [source,c]
> ----
> -ROPD_OP_WHITENESS = 256
> +SPICE_ROPD_OP_WHITENESS = 256
> ----
> +
> Destination pixel should be replaced by white
> +
> [source,c]
> ----
> -ROPD_OP_INVERS = 512
> +SPICE_ROPD_OP_INVERS = 512
> ----
> +
> Destination pixel should be inverted
> +
> [source,c]
> ----
> -ROPD_INVERS_RES = 1024
> +SPICE_ROPD_INVERS_RES = 1024
> ----
> +
> Result of the operation needs to be inverted
> @@ -1355,7 +1355,7 @@ PIXMAP_FORMAT_RGBA = 9
> +
> pixel format is 32 bits ARGB8888.
> +
> -.. Palette
> +.. SpicePalette
> +
> [cols="2*"]
> |===
> @@ -1418,7 +1418,7 @@ beginning of line n+1
> [source,c]
> ----
> union {
> - ADDRESS palette; /* address of the color palette. Must be zero if no
> + SPICE_ADDRESS palette; /* address of the color palette. Must be zero if no
> color table is required for format */
> }
> ----
> @@ -1428,7 +1428,7 @@ color table is required for format */
> |UINT64 palette_id
> |id of the palette, valid if FLAG_PAL_FROM_CACHE is set
>
> -|ADDRESS data
> +|SPICE_ADDRESS data
> |address of line 0 of the pixmap.
> |===
> +
> @@ -1476,7 +1476,7 @@ pixmap lines are ordered from top to bottom (i.e. line 0 is the highest line).
> [source,c]
> ----
> union {
> - ADDRESS palette; /* address of the color palette (see Palette section
> + SPICE_ADDRESS palette; /* address of the color palette (see SpicePalette section
> in “Raw raster image”). Zero value is disallowed. */
> UINT64 palette_id; /* id of the palette, valid if FLAG_PAL_FROM_CACHE
> is set. */
> @@ -1507,19 +1507,19 @@ being compressed.
> [source,c]
> ----
> IMAGE_TYPE_PIXMAP = 0
> -IMAGE_TYPE_QUIC = 1
> -IMAGE_TYPE_LZ_PLT = 100
> -IMAGE_TYPE_LZ_RGB = 101
> -IMAGE_TYPE_GLZ_RGB = 102
> -IMAGE_TYPE_FROM_CACHE = 103
> +SPICE_IMAGE_TYPE_QUIC = 1
> +SPICE_IMAGE_TYPE_LZ_PLT = 100
> +SPICE_IMAGE_TYPE_LZ_RGB = 101
> +SPICE_IMAGE_TYPE_GLZ_RGB = 102
> +SPICE_IMAGE_TYPE_FROM_CACHE = 103
> ----
> +
> .. Image flags
> +
> IMAGE_FLAG_CACHE_ME = 1, this flag instruct the client to add the image to
> -image cache, cache key is ImageDescriptor.id (see below).
> +image cache, cache key is SpiceImageDescriptor.id (see below).
> +
> -.. ImageDescriptor
> +.. SpiceImageDescriptor
> +
> [cols="2*"]
> |===
> @@ -1541,8 +1541,8 @@ image cache, cache key is ImageDescriptor.id (see below).
> +
> .. Image data
> +
> -Image data follows ImageDescriptor and its content depends on
> -ImageDescriptor.type:
> +Image data follows SpiceImageDescriptor and its content depends on
> +SpiceImageDescriptor.type:
> +
> * In case of PIXMAP – content is Pixmap.
> * In case of QUIC – content is Quic compressed image. Data begins with the
> @@ -1556,15 +1556,15 @@ by the compressed data.
> begins with the size of the compressed data, represented by UINT32, , followed
> by the compressed data.
> * In case of FROM_CACHE – No image data. The client should use
> -ImageDescriptor.id to retrieve the relevant image from cache.
> +SpiceImageDescriptor.id to retrieve the relevant image from cache.
> +
> -. Glyph String
> +. Glyph SpiceString
> +
> Glyph string defines an array of glyphs for rendering. Glyphs in a string can
> be in A1, A4 or A8 format (i.e., 1bpp, 4bpp, or 8bpp alpha mask). Every glyph
> contains its rendering position on the destination draw area.
> +
> -.. RasterGlyph
> +.. SpiceRasterGlyph
> +
> [cols="2*"]
> |===
> @@ -1589,7 +1589,7 @@ is A4, the line stride is ALIGN(width, 2) / 2. If the format is A8, the line
> stride is width.
> |===
> +
> -.. Glyph String flags
> +.. Glyph SpiceString flags
> +
> [source,c]
> ----
> @@ -1676,7 +1676,7 @@ PATH_SEGMENT_FLAG_BEZIER = 16
> +
> this segment content is a Bezier curve
> +
> -.. PathSeg
> +.. SpicePathSeg
> +
> [cols="2*"]
> |===
> @@ -1692,9 +1692,9 @@ this segment content is a Bezier curve
> +
> .. PathSegList
> +
> -List of PathSeg items. End of the list is reached if the sum of all previous
> +List of SpicePathSeg items. End of the list is reached if the sum of all previous
> PathSegs' sizes is equal to list_size. Address of next segment is the address
> -of PathSeg.points[PathSeg.count]
> +of SpicePathSeg.points[SpicePathSeg.count]
> +
> [cols="2*"]
> |===
> @@ -1702,40 +1702,40 @@ of PathSeg.points[PathSeg.count]
> |total size of in bytes of all PathSegs in the list,
> |===
> +
> -PathSeg seg0 – first path segment.
> +SpicePathSeg seg0 – first path segment.
> +
> -.. Clip types
> +.. SpiceClip types
> +
> [source,c]
> ----
> -CLIP_TYPE_NONE = 0
> +SPICE_CLIP_TYPE_NONE = 0
> ----
> +
> no clipping
> +
> [source,c]
> ----
> -CLIP_TYPE_RECTS = 1
> +SPICE_CLIP_TYPE_RECTS = 1
> ----
> +
> data is RectList and union of all rectangles in RectList is the effective clip
> +
> [source,c]
> ----
> -CLIP_TYPE_PATH = 2
> +SPICE_CLIP_TYPE_PATH = 2
> ----
> +
> data is PathSegList and the figure described by PathSegList is the effective
> clip
> +
> -.. Clip
> +.. SpiceClip
> +
> [cols="2*"]
> |===
> |UIN32 type
> |one of CLIP_TYPE_?
>
> -|ADDRESS data
> +|SPICE_ADDRESS data
> |address of clip data. The content depends on <type>
> |===
> +
> @@ -1754,34 +1754,34 @@ MASK_FLAG_INVERS = 1, the effective mask is the inverse of the mask
>
> |POINT position | origin of the mask in bitmap coordinates
>
> -|ADDRESS bitmap | address of the mask's image, the format of the image must be
> +|SPICE_ADDRESS bitmap | address of the mask's image, the format of the image must be
> 1bpp. If the bitmap is zero then no masking operation needs to be preformed.
> |===
> +
> In all rendering commands, the mask must be big enough to cover the destination
> rectangle
> +
> -.. Brush types
> +.. SpiceBrush types
> +
> [source,c]
> ----
> -BRUSH_TYPE_NONE = 0 /* the brush is invalid */
> -BRUSH_TYPE_SOLID = 1 /* the brush is solid RGB color */
> -BRUSH_TYPE_PATTERN = 2 /* the brush is a pattern */
> +SPICE_BRUSH_TYPE_NONE = 0 /* the brush is invalid */
> +SPICE_BRUSH_TYPE_SOLID = 1 /* the brush is solid RGB color */
> +SPICE_BRUSH_TYPE_PATTERN = 2 /* the brush is a pattern */
> ----
> +
> -.. Pattern
> +.. SpicePattern
> +
> [cols="2*"]
> |===
> -|ADDRESS image
> +|SPICE_ADDRESS image
> |address of the pattern's Image
>
> |POINT position
> |origin coordinates of the pattern in the image
> |===
> +
> -.. Brush
> +.. SpiceBrush
> +
> [cols="2*"]
> |===
> @@ -1794,7 +1794,7 @@ BRUSH_TYPE_PATTERN = 2 /* the brush is a pattern */
> Union {
> UINT32 color; */ RGB color. The format of the color depends on current
> draw area mode.*/
> - Pattern pattern;
> + SpicePattern pattern;
> }
> ----
> +
> @@ -1804,14 +1804,14 @@ The following defines the method for scaling image
> +
> [source,c]
> ----
> -IMAGE_SCALE_INTERPOLATE = 0
> +SPICE_IMAGE_SCALE_MODE_INTERPOLATE = 0
> ----
> +
> The client is allowed to INTERPOLATE pixel color.
> +
> [source,c]
> ----
> -IMAGE_SCALE_NEAREST = 1
> +SPICE_IMAGE_SCALE_MODE_NEAREST = 1
> ----
> +
> The client must use the nearest pixel.
> @@ -1851,7 +1851,7 @@ LINE_ATTR_CAP_SQUARE = 1
> LINE_ATTR_CAP_BUTT = 2
> ----
> +
> -.. LineAttr
> +.. SpiceLineAttr
> +
> [cols="2*"]
> |===
> @@ -1867,14 +1867,14 @@ LINE_ATTR_CAP_BUTT = 2
> |UINT8 style_num_segments
> |number of style segments in line style
>
> -|FIXED28_4 width
> +|SPICE_FIXED28_4 width
> |width of the line in pixels
>
> -|FIXED28_4 miter_limit
> +|SPICE_FIXED28_4 miter_limit
> |miter limit in pixels
>
> -| ADDRESS style
> -|address of line style line style is array of FIXED28_4. The array defines
> +| SPICE_ADDRESS style
> +|address of line style line style is array of SPICE_FIXED28_4. The array defines
> segments that each represents length of foreground or background pixels in the
> style. If FLAG_START_WITH_GAP is defined then the first segment in the style is
> background, otherwise it is foreground. Renderer uses this array of segments
> @@ -1883,7 +1883,7 @@ repeatedly during rendering operation.
> +
> . Rendering command
> +
> -.. RedDrawBase
> +.. SpiceMsgDisplayBase
> +
> Common field to all rendering command
> +
> @@ -1892,45 +1892,45 @@ Common field to all rendering command
> |RECT bounding_box
> |the affected area on the display area
>
> -|Clip clip
> +|SpiceClip clip
> |the effective clip to set before rendering a command
> |===
> +
> -.. RED_DISPLAY_COPY_BITS
> +.. SPICE_MSG_DISPLAY_COPY_BITS
> +
> [source,c]
> ----
> -RedDrawBase
> +SpiceMsgDisplayBase
> POINT source_position
> ----
> +
> -Copy bits from the draw area to bounding_box on the draw area. Source area left
> +SpiceCopy bits from the draw area to bounding_box on the draw area. Source area left
> top corner is source_position and its height and width is equal to bounding_box
> height and width. Source and destination rectangles can overlap.
> +
> -.. RED_DISPLAY_DRAW_FILL
> +.. SPICE_MSG_DISPLAY_DRAW_FILL
> +
> [source,c]
> ----
> -RedDrawBase
> -Brush brush
> +SpiceMsgDisplayBase
> +SpiceBrush brush
> UINT16 rop_descriptor
> Mask mask
> ----
> +
> -Fill bounding_box using brush as the fill pattern and rop_descriptor
> +SpiceFill bounding_box using brush as the fill pattern and rop_descriptor
> instructions. If the mask is valid, it will limit the modified area (i.e., only
> pixels on the destination area that their corresponding bits are set will be
> affected).
> +
> -.. RED_DISPLAY_DRAW_OPAQUE
> +.. SPICE_MSG_DISPLAY_DRAW_OPAQUE
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS source_image
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS source_image
> RECT source_area
> -Brush brush
> +SpiceBrush brush
> UINT16 rop_descriptor
> UINT8 scale_mode
> Mask mask
> @@ -1942,29 +1942,29 @@ bounding_box. In case scaling of source image is required it will be performed
> according to scale_mode and before the combination with brush pixels. If mask
> is valid it will limit the modified area.
> +
> -.. RED_DISPLAY_DRAW_COPY
> +.. SPICE_MSG_DISPLAY_DRAW_COPY
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS source_image
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS source_image
> RECT source_area
> UINT16 rop_descriptor
> UINT8 scale_mode
> Mask mask
> ----
> +
> -Copy pixels from source_area in source_image to bounding_box using
> +SpiceCopy pixels from source_area in source_image to bounding_box using
> rop_descriptor instructions. In case scaling of source image is required it
> will be performed according to scale_mode and before the copying to the draw
> area. If mask is valid it will limit the modified area.
> +
> -.. RED_DISPLAY_DRAW_BLEND
> +.. SPICE_MSG_DISPLAY_DRAW_BLEND
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS source_image
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS source_image
> RECT source_area
> UINT16 rop_descriptor
> UINT8 scale_mode
> @@ -1976,47 +1976,47 @@ draw area using rop_descriptor instructions. In case scaling of source image is
> required it will be performed according to scale_mode and before the mixing
> with the draw area. If mask is valid it will limit the modified area.
> +
> -.. RED_DISPLAY_DRAW_BLACKNESS
> +.. SPICE_MSG_DISPLAY_DRAW_BLACKNESS
> +
> [source,c]
> ----
> -RedDrawBase
> +SpiceMsgDisplayBase
> Mask mask
> ----
> +
> -Fill bounding_box with black pixels. If mask is valid it will limit the
> +SpiceFill bounding_box with black pixels. If mask is valid it will limit the
> modified area.
> +
> -.. RED_DISPLAY_DRAW_WHITENESS
> +.. SPICE_MSG_DISPLAY_DRAW_WHITENESS
> +
> [source,c]
> ----
> -RedDrawBase
> +SpiceMsgDisplayBase
> Mask mask
> ----
> +
> -Fill bounding_box with white pixels. If mask is valid it will limit the
> +SpiceFill bounding_box with white pixels. If mask is valid it will limit the
> modified area.
> +
> -.. RED_DISPLAY_DRAW_INVERS
> +.. SPICE_MSG_DISPLAY_DRAW_INVERS
> +
> [source,c]
> ----
> -RedDrawBase
> +SpiceMsgDisplayBase
> Mask mask
> ----
> +
> Inverse all pixels in bounding_box. If mask is valid it will limit the modified
> area.
> +
> -.. RED_DISPLAY_DRAW_ROP3
> +.. SPICE_MSG_DISPLAY_DRAW_ROP3
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS source_image
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS source_image
> RECT source_area
> -Brush brush
> +SpiceBrush brush
> UINT8 rop3
> UINT8 scale_mode
> Mask mask
> @@ -2029,36 +2029,36 @@ operations). In case scaling of source image is required it will be performed
> according to scale_mode and before the mixing. If mask is valid it will limit
> the modified area.
> +
> -.. RED_DISPLAY_DRAW_TRANSPARENT
> +.. SPICE_MSG_DISPLAY_DRAW_TRANSPARENT
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS source_image
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS source_image
> RECT source_area
> UINT32 transparent_color
> UINT32 transparent _true_color
> ----
> +
> -Copy pixels from source_area on source_image to bounding_box on the draw area.
> -In case scaling of source image is required it will use IMAGE_SCALE_NEAREST.
> +SpiceCopy pixels from source_area on source_image to bounding_box on the draw area.
> +In case scaling of source image is required it will use SPICE_IMAGE_SCALE_MODE_NEAREST.
> Pixels with value equal to the transparent color will be masked out.
> -Transparent color is provided in two forms: true color (i.e., RGB888) and the
> +SpiceTransparent color is provided in two forms: true color (i.e., RGB888) and the
> color in the original format (i.e., before compression) .
> +
> -.. RED_DISPLAY_DRAW_ALPHA_BLEND
> +.. SPICE_MSG_DISPLAY_DRAW_ALPHA_BLEND
> +
> [source,c]
> ----
> -RedDrawBase
> +SpiceMsgDisplayBase
> UINT8 alpha
> -ADDRESS source_image
> +SPICE_ADDRESS source_image
> RECT source_area
> ----
> +
> Alpha blend source_area of source_image on bounding_box of draw area using
> alpha value or alternatively per pixel alpha value. In case scaling of source
> -image is required, it will use IMAGE_SCALE_INTERPOLATE mode. Alpha value is
> +image is required, it will use SPICE_IMAGE_SCALE_MODE_INTERPOLATE mode. Alpha value is
> defined as 0 is full transparency and 255 is full opacity. Format of source
> image can be pre-multiplied ARGB8888 for per pixel alpha value.
> +
> @@ -2071,13 +2071,13 @@ alpha' = (source_alpha * alpha) / 255
> new_color = color' + ((255 - alpha' ) * destination_color) / 255
> ----
> +
> -.. RED_DISPLAY_DRAW_STROKE
> +.. SPICE_MSG_DISPLAY_DRAW_STROKE
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS path – address of the PathSegList that defines the path to render
> -LineAttr attr
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS path – address of the PathSegList that defines the path to render
> +SpiceLineAttr attr
> Bush brush
> UINT16 fore_mode - foreground rop_descriptor
> UINT16 back_mode – background rop_descriptor
> @@ -2089,15 +2089,15 @@ styled (i.e., LINE_ATTR_FLAG_STYLED is set in attr.falgs) then background
> drawn using fore_mode. If the line is not styled, the entire path is rendered
> using fore_mode.
> +
> -.. RED_DISPLAY_DRAW_TEXT
> +.. SPICE_MSG_DISPLAY_DRAW_TEXT
> +
> [source,c]
> ----
> -RedDrawBase
> -ADDRESS string – address of GlyphString
> +SpiceMsgDisplayBase
> +SPICE_ADDRESS string – address of GlyphString
> RECT back_area
> -Brush fore_brush
> -Brush back_brush
> +SpiceBrush fore_brush
> +SpiceBrush back_brush
> UINT16 fore_mode
> UINT16 back_mode
> ----
> @@ -2118,12 +2118,12 @@ for having smoother playback and audio synchronization. Audio synchronization
> is achieved by using time stamp that is attached to audio and video streams.
> By using video streaming the network traffic can be dramatically reduced. When
> the stream is created, the server sends create message using
> -RED_DISPLAY_STREAM_CREATE. After the server creates a stream he can send data
> -using RED_DISPLAY_STREAM_DATA, or set new stream clipping by sending clip
> -message using RED_DISPLAY_STREAM_CLIP. Once the server no longer needs the
> -stream, he can send destroy command using RED_DISPLAY_STREAM_DESTROY. The
> +SPICE_MSG_DISPLAY_STREAM_CREATE. After the server creates a stream he can send data
> +using SPICE_MSG_DISPLAY_STREAM_DATA, or set new stream clipping by sending clip
> +message using SPICE_MSG_DISPLAY_STREAM_CLIP. Once the server no longer needs the
> +stream, he can send destroy command using SPICE_MSG_DISPLAY_STREAM_DESTROY. The
> server can also destroy all active streams by sending destroy all message using
> -RED_DISPLAY_STREAM_DESTROY_ALL.
> +SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL.
> +
> .. Stream flags
> +
> @@ -2139,7 +2139,7 @@ STREAM_FLAG_TOP_DOWN = 1 /* stream frame line order is from top to bottom */
> STREAM_CODEC_TYPE_MJPEG = 1 /* this stream uses motion JPEG codec */
> ----
> +
> -.. RED_DISPLAY_STREAM_CREATE, RedStreamCreate
> +.. SPICE_MSG_DISPLAY_STREAM_CREATE, SpiceMsgDisplayStreamCreate
> +
> [cols="2*"]
> |===
> @@ -2170,16 +2170,16 @@ STREAM_CODEC_TYPE_MJPEG = 1 /* this stream uses motion JPEG codec */
> |RECT destination
> |area to render into on the client display area
>
> -|Clip clip
> +|SpiceClip clip
> |clipping of the stream
> |===
> +
> -.. RED_DISPLAY_STREAM_DATA, RedStreamData
> +.. SPICE_MSG_DISPLAY_STREAM_DATA, SpiceMsgDisplayStreamData
> +
> [cols="2*"]
> |===
> |UINT32 id
> -|stream id (i.e., RedStreamCreate.id)
> +|stream id (i.e., SpiceMsgDisplayStreamCreate.id)
>
> |UINT32 multimedia_time
> |frame time stamp
> @@ -2191,21 +2191,21 @@ STREAM_CODEC_TYPE_MJPEG = 1 /* this stream uses motion JPEG codec */
> |additional data padding in bytes
>
> |UINT8[] data
> -|stream data depending on RedStreamCreate.codec_type. Size of data is (
> +|stream data depending on SpiceMsgDisplayStreamCreate.codec_type. Size of data is (
> data_size + pad_size)
> |===
> +
> -.. RED_DISPLAY_STREAM_CLIP, RedStreamClip
> +.. SPICE_MSG_DISPLAY_STREAM_CLIP, SpiceMsgDisplayStreamClip
> +
> [cols="2*"]
> |===
> |UINT32 id
> -|stream id (i.e., RedStreamCreate.id)
> +|stream id (i.e., SpiceMsgDisplayStreamCreate.id)
> |===
> +
> -Clip clip – new clipping of the stream
> +SpiceClip clip – new clipping of the stream
> +
> -.. RED_DISPLAY_STREAM_DESTROY, UINT32
> +.. SPICE_MSG_DISPLAY_STREAM_DESTROY, UINT32
> +
> [cols="2*"]
> |===
> @@ -2213,7 +2213,7 @@ Clip clip – new clipping of the stream
> |id of stream to destroy
> |===
> +
> -.. RED_DISPLAY_STREAM_DESTROY_ALL, VOID
> +.. SPICE_MSG_DISPLAY_STREAM_DESTROY_ALL, VOID
> +
> Destroy all active streams
> +
> @@ -2248,7 +2248,7 @@ RED_RES_TYPE_IMAGE = 1
> |list of resources id
> |===
> +
> -.. RED_DISPLAY_INVAL_LIST, RedResourceList
> +.. SPICE_MSG_DISPLAY_INVAL_LIST, RedResourceList
> +
> [cols="2*"]
> |===
> @@ -2256,13 +2256,13 @@ RED_RES_TYPE_IMAGE = 1
> |list of resources to remove from cache
> |===
> +
> -.. RED_DISPLAY_INVAL_ALL_IMAGES, RedWaitForChannels
> +.. SPICE_MSG_DISPLAY_INVAL_ALL_PIXMAPS, SpiceMsgWaitForChannels
> +
> -Remove all images from the image cache. The client must use RedWaitForChannels
> +Remove all images from the image cache. The client must use SpiceMsgWaitForChannels
> (for more info see <<channel_sync,Channel synchronization>>) to synchronize
> with other channels before clearing the cache.
> +
> -.. RED_DISPLAY_INVAL_PALETTE, UINT64
> +.. SPICE_MSG_DISPLAY_INVAL_PALETTE, UINT64
> +
> [cols="2*"]
> |===
> @@ -2270,7 +2270,7 @@ with other channels before clearing the cache.
> |client needs to remove palette with that id from the cache
> |===
> +
> -.. RED_DISPLAY_INVAL_ALL_PALETTES, VOID
> +.. SPICE_MSG_DISPLAY_INVAL_ALL_PALETTES, VOID
> +
> Remove all palettes from palette cache
>
> @@ -2281,43 +2281,43 @@ position on the remote display area, cursor position messages are irrelevant
> for client mouse mode (see <<mouse_modes,Mouse Modes>>). Spice protocol also
> defines a set of messages for managing cursor shape cache on the client site.
> Client must strictly obey all such instructions. The server sends
> -RED_CURSOR_INIT to set current pointer state (i.e., shape, position, visibility
> +SPICE_MSG_CURSOR_INIT to set current pointer state (i.e., shape, position, visibility
> etc.) and to clear shape cache. After the server sends init message it can send
> -any other cursor command except for RED_CURSOR_INIT. The server can send
> -RED_CURSOR_RESET message - this will disable the cursor and reset the cursor
> +any other cursor command except for SPICE_MSG_CURSOR_INIT. The server can send
> +SPICE_MSG_CURSOR_RESET message - this will disable the cursor and reset the cursor
> cache. After this message the only valid message the server can send is
> -RED_CURSOR_INIT. The relevant remote display area for a cursor channel is the
> +SPICE_MSG_CURSOR_INIT. The relevant remote display area for a cursor channel is the
> one of the display channel that has the same channel id (i.e.,
> -RedLinkMess.channel_id).
> +SpiceLinkMess.channel_id).
>
> . Server messages
> +
> [source,c]
> ----
> -RED_CURSOR_INIT = 101
> -RED_CURSOR_RESET = 102
> -RED_CURSOR_SET = 103
> -RED_CURSOR_MOVE = 104
> -RED_CURSOR_HIDE = 105
> -RED_CURSOR_TRAIL = 106
> -RED_CURSOR_INVAL_ONE = 107
> -RED_CURSOR_INVAL_ALL = 108
> +SPICE_MSG_CURSOR_INIT = 101
> +SPICE_MSG_CURSOR_RESET = 102
> +SPICE_MSG_CURSOR_SET = 103
> +SPICE_MSG_CURSOR_MOVE = 104
> +SPICE_MSG_CURSOR_HIDE = 105
> +SPICE_MSG_CURSOR_TRAIL = 106
> +SPICE_MSG_CURSOR_INVAL_ONE = 107
> +SPICE_MSG_CURSOR_INVAL_ALL = 108
> ----
> +
> .. Cursors types
> +
> [source,c]
> ----
> -CURSOR_TYPE_ALPHA = 0
> -CURSOR_TYPE_MONO = 1
> -CURSOR_TYPE_COLOR4 = 2
> -CURSOR_TYPE_COLOR8 = 3
> -CURSOR_TYPE_COLOR16 = 4
> -CURSOR_TYPE_COLOR24 = 5
> -CURSOR_TYPE_COLOR32 = 6
> +SPICE_CURSOR_TYPE_ALPHA = 0
> +SPICE_CURSOR_TYPE_MONO = 1
> +SPICE_CURSOR_TYPE_COLOR4 = 2
> +SPICE_CURSOR_TYPE_COLOR8 = 3
> +SPICE_CURSOR_TYPE_COLOR16 = 4
> +SPICE_CURSOR_TYPE_COLOR24 = 5
> +SPICE_CURSOR_TYPE_COLOR32 = 6
> ----
> +
> -.. CursorHeader
> +.. SpiceCursorHeader
> +
> [cols="2*"]
> |===
> @@ -2348,7 +2348,7 @@ and retrieving cursors from the cursor cache.
> CURSOR_FLAGS_NONE = 1
> ----
> +
> -set when RedCursor (see below) is invalid
> +set when SpiceCursor (see below) is invalid
> +
> [source,c]
> ----
> @@ -2356,30 +2356,30 @@ CURSOR_CURSOR_FLAGS _CACHE_ME = 2
> ----
> +
> set when the client should add this shape to the shapes cache. The client will
> -use CursorHeader.unique as cache key.
> +use SpiceCursorHeader.unique as cache key.
> +
> [source,c]
> ----
> CURSOR_FLAGS_FROM_CACHE = 4
> ----
> +
> -set when the client should retrieve the cursor shape, using CursorHeader.unique
> -as key, from the shapes cache. In this case all fields of CursorHeader except
> +set when the client should retrieve the cursor shape, using SpiceCursorHeader.unique
> +as key, from the shapes cache. In this case all fields of SpiceCursorHeader except
> for 'unique' are invalid.
> +
> -.. RedCursor
> +.. SpiceCursor
> +
> [cols="2*"]
> |===
> |UINT32 flags
> |any valid combination of RED_CURSOR_?
>
> -|CursorHeader header
> +|SpiceCursorHeader header
> |
>
> |UINT8[] data
> |actual cursor shape data, the size is determine by width, height and type from
> -CursorHeader. Next we will describe in detail the shape data format according
> +SpiceCursorHeader. Next we will describe in detail the shape data format according
> to cursor type:
>
> |ALPHA, alpha shape
> @@ -2423,7 +2423,7 @@ ALIGN(<width>, 8) / 8; bits order within every byte is big endian.
> For more deatails on drawing the cursor shape see <<cursor_shape, this
> section>>
> +
> -.. RED_CURSOR_INIT, RedCursorInit
> +.. SPICE_MSG_CURSOR_INIT, SpiceMsgCursorInit
> +
> [cols="2*"]
> |===
> @@ -2440,13 +2440,13 @@ client mode.
> |UIN8 visible
> |if 1, the cursor is visible. If 0, the cursor is invisible.
>
> -|RedCursor cursor
> +|SpiceCursor cursor
> |current cursor shape
> |===
> +
> -.. RED_CURSOR_RESET, VOID
> +.. SPICE_MSG_CURSOR_RESET, VOID
> +
> -.. RED_CURSOR_SET, RedCursorSet
> +.. SPICE_MSG_CURSOR_SET, SpiceMsgCursorSet
> +
> [cols="2*"]
> |===
> @@ -2457,11 +2457,11 @@ mode.
> |UINT8 visible
> |if 1, the cursor is visible. If 0, the cursor is invisible.
>
> -|RedCursor cursor
> +|SpiceCursor cursor
> |current cursor shape
> |===
> +
> -.. RED_CURSOR_MOVE, POINT16
> +.. SPICE_MSG_CURSOR_MOVE, POINT16
> +
> [cols="2*"]
> |===
> @@ -2470,11 +2470,11 @@ mode.
> sets cursor visibility to 1.
> |===
> +
> -.. RED_CURSOR_HIDE, VOID
> +.. SPICE_MSG_CURSOR_HIDE, VOID
> +
> Hide pointer on the relevant display area.
> +
> -.. RED_CURSOR_TRAIL
> +.. SPICE_MSG_CURSOR_TRAIL
> +
> [cols="2*"]
> |===
> @@ -2485,7 +2485,7 @@ Hide pointer on the relevant display area.
> |millisecond interval between trail updates
> |===
> +
> -.. RED_CURSOR_INVAL_ONE, UINT64
> +.. SPICE_MSG_CURSOR_INVAL_ONE, UINT64
> +
> [cols="2*"]
> |===
> @@ -2493,7 +2493,7 @@ Hide pointer on the relevant display area.
> |id of cursor shape to remove from the cursor cache
> |===
> +
> -.. RED_CURSOR_INVAL_ALL, VOLD
> +.. SPICE_MSG_CURSOR_INVAL_ALL, VOLD
> +
> Clear cursor cache
> +
> @@ -2523,10 +2523,10 @@ Else, put source color.
> == Playback channel definition
>
> Spice supports sending audio streams for playback on the client side. An audio
> -stream is sent by the server in an audio packet using RED_PLAYBACK_DATA
> +stream is sent by the server in an audio packet using SPICE_MSG_PLAYBACK_DATA
> message. The content of the audio packet is controlled by the playback mode
> -that the server sends using RED_PLAYBACK_MODE message. The server can start and
> -stop the stream using RED_PLAYBACK_START and RED_PLAYBACK_STOP messages.
> +that the server sends using SPICE_MSG_PLAYBACK_MODE message. The server can start and
> +stop the stream using SPICE_MSG_PLAYBACK_START and SPICE_MSG_PLAYBACK_STOP messages.
> Sending audio packet is allowed only between start and stop messages. Sending
> start message is allowed only in stop state and after at least one mode message
> was sent. Sending a stop message is allowed only during a start state.
> @@ -2535,10 +2535,10 @@ was sent. Sending a stop message is allowed only during a start state.
> +
> [source,c]
> ----
> -RED_PLAYBACK_DATA = 101
> -RED_PLAYBACK_MODE = 102
> -RED_PLAYBACK_START = 103
> -RED_PLAYBACK_STOP = 104
> +SPICE_MSG_PLAYBACK_DATA = 101
> +SPICE_MSG_PLAYBACK_MODE = 102
> +SPICE_MSG_PLAYBACK_START = 103
> +SPICE_MSG_PLAYBACK_STOP = 104
> ----
> +
> . Audio format
> @@ -2564,13 +2564,13 @@ RED_PLAYBACK_DATA_MODE_CELT_0_5_1 = 2
> +
> [source,c]
> ----
> -RED_PLAYBACK_CAP_CELT_0_5_1 = 0
> +SPICE_PLAYBACK_CAP_CELT_0_5_1 = 0
> ----
> +
> Spice client needs to declare support of CELT_5_1 in channel capabilities in
> order to allow the server to send playback packets in CELT_0_5_1 format.
> +
> -. RED_PLAYBACK_MODE, RedPlaybackMode
> +. SPICE_MSG_PLAYBACK_MODE, SpiceMsgPlaybackMode
> +
> [cols="2*"]
> |===
> @@ -2584,7 +2584,7 @@ order to allow the server to send playback packets in CELT_0_5_1 format.
> |specific data, content depend on mode
> |===
> +
> -. RED_PLAYBACK_START, RedRecordStart
> +. SPICE_MSG_PLAYBACK_START, SpiceMsgRecordStart
> +
> [cols="2*"]
> |===
> @@ -2598,7 +2598,7 @@ order to allow the server to send playback packets in CELT_0_5_1 format.
> |channel samples per second
> |===
> +
> -. RED_PLAYBACK_DATA, RedPlaybackPacket
> +. SPICE_MSG_PLAYBACK_DATA, SpiceMsgPlaybackPacket
> +
> [cols="2*"]
> |===
> @@ -2609,22 +2609,22 @@ order to allow the server to send playback packets in CELT_0_5_1 format.
> |playback data , content depend on mode
> |===
> +
> -. RED_PLAYBACK_STOP, VOID
> +. SPICE_MSG_PLAYBACK_STOP, VOID
> +
> Stop current audio playback
>
> == Record Channel definition
>
> Spice supports transmitting of audio captured streams from the client to the
> -server. Spice server starts audio capturing using RED_RECORD_START message.
> +server. Spice server starts audio capturing using SPICE_MSG_RECORD_START message.
> This message instructs the client to start transmitting captured audio . In
> response, the client sends time stamp of the stream start using
> -REDC_RECORD_START_MARK. After the client sends start mark it can start
> -transmitting audio stream data using REDC_RECORD_DATA. One mode message must be
> -sent by the client before any other message using REDC_RECORD_MODE. This, in
> +SPICE_MSGC_RECORD_START_MARK. After the client sends start mark it can start
> +transmitting audio stream data using SPICE_MSGC_RECORD_DATA. One mode message must be
> +sent by the client before any other message using SPICE_MSGC_RECORD_MODE. This, in
> order to inform the server on what type of data will be transferred. Mode
> message can also be transmitted at any other time in order to switch the data
> -type delivered by REDC_RECORD_DATA. The Server can send RED_RECORD_STOP for
> +type delivered by SPICE_MSGC_RECORD_DATA. The Server can send SPICE_MSG_RECORD_STOP for
> stopping captured audio streaming. Sending a start message is allowed only
> while the stream is in stop state. Sending a stop message and data messages is
> allowed only while the stream is in start state. Sending mark message is
> @@ -2634,17 +2634,17 @@ allowed only between start message and the first data message.
> +
> [source,c]
> ----
> -RED_RECORD_START = 101
> -RED_RECORD_STOP = 102
> +SPICE_MSG_RECORD_START = 101
> +SPICE_MSG_RECORD_STOP = 102
> ----
> +
> . Client messages
> +
> [source,c]
> ----
> -REDC_RECORD_DATA = 101
> -REDC_RECORD_MODE = 102
> -REDC_RECORD_START_MARK = 103
> +SPICE_MSGC_RECORD_DATA = 101
> +SPICE_MSGC_RECORD_MODE = 102
> +SPICE_MSGC_RECORD_START_MARK = 103
> ----
> +
> . Audio format
> @@ -2670,13 +2670,13 @@ RED_RECORD_DATA_MODE_CELT_0_5_1 = 2
> +
> [source,c]
> ----
> -RED_PLAYBACK_CAP_CELT_0_5_1 = 0
> +SPICE_PLAYBACK_CAP_CELT_0_5_1 = 0
> ----
> +
> Spice server needs to declare support of CELT_5_1 in channel capabilities in
> order to allow the client to send recorded packets in CELT_0_5_1 format.
> +
> -. REDC_RECORD_MODE, RedcRecordMode
> +. SPICE_MSGC_RECORD_MODE, SpiceMsgcRecordMode
> +
> [cols="2*"]
> |===
> @@ -2690,7 +2690,7 @@ order to allow the client to send recorded packets in CELT_0_5_1 format.
> |specific data, content depend on mode
> |===
> +
> -. RED_RECORD_START, RedRecordStart
> +. SPICE_MSG_RECORD_START, SpiceMsgRecordStart
> +
> [cols="2*"]
> |===
> @@ -2698,13 +2698,13 @@ order to allow the client to send recorded packets in CELT_0_5_1 format.
> |number of audio channels
>
> |UINT32 format
> -|one of RED_AUDIO_FMT_?
> +|one of SPICE_AUDIO_FMT_?
>
> |UINT32 frequency
> |channel samples per second
> |===
> +
> -. REDC_RECORD_START_MARK, UINT32
> +. SPICE_MSGC_RECORD_START_MARK, UINT32
> +
> [cols="2*"]
> |===
> @@ -2712,7 +2712,7 @@ order to allow the client to send recorded packets in CELT_0_5_1 format.
> |client time stamp of stream start
> |===
> +
> -. REDC_RECORD_DATA, RedcRecordPacket
> +. SPICE_MSGC_RECORD_DATA, SpiceMsgcRecordPacket
> +
> [cols="2*"]
> |===
> @@ -2723,6 +2723,6 @@ order to allow the client to send recorded packets in CELT_0_5_1 format.
> |recorded data , content depend on mode
> |===
> +
> -. RED_RECORD_STOP, VOID
> +. SPICE_MSG_RECORD_STOP, VOID
> +
> Stop current audio capture
> --
> 2.21.0
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20191014/86f0b8e4/attachment-0001.sig>
More information about the Spice-devel
mailing list