background image
Functional specification
64
CDE/Motif PST
CDEnext
The client can now send one or more display authorization "tickets" contained in
Xauth
structures (see
XauReadAuth(1)
) - tickets that the PDM can use to establish a connection to the Video X-Server. For each
ticket, a "Ticket Header"
ClientMessage
is sent followed by one or more "Ticket Content"
ClientMessages
. A status flag in the Ticket Header indicates when the transfer of tickets has been or will be
completed (e.g. this is the last ticket).
Note: which tickets need to be transfered is left as an exercise to the client. Savvy clients would use calls such as
XauGetBestAuthByAddr(1)
and ideally transfer just the one ticket needed so the PDM can connect to the
Video X-Server. More likely, clients will use calls like
XauReadAuth(1)
to transfer one-by-one all the possible
tickets, and then let the PDM figure out which one is really needed.
The
ClientMessage
for the "Ticket Header" is as follows:
type
ClientMessage
display
selection_display
window
mailbox window id from
ConvertSelection
message_type
atom value for the string "
PDM_MAIL
"
format
16
, which among other things identifies this
ClientMessage
as a Ticket
Header message.
data.s[0]
0
if this is a
NULL
and terminating ticket,
1
if this is a
non-NULL
and
terminating (last) ticket, or
2
if this is a
non-NULL
ticket and more tickets
will follow.
data.s[1]
ticket
address_length
from
Xauth
structure.
data.s[2]
ticket
number_length
data.s[3]
ticket
name_length
data.s[4]
ticket
data_length
data.s[5]
ticket
family
The
ClientMessage
for the "Ticket Contents" is as follows:
type
ClientMessage
display
selection_display
window
mailbox window id from
ConvertSelection
message_type
atom value for the string "
PDM_MAIL
"
format
8
, which among other things identifies this
ClientMessage
as a Ticket
Content message.
data.b
the next block of char* data at most 20 bytes in length derived from and
representing the concatination of the ticket's
address
(from
Xauth
structure),
number
,
name
and
data
.