VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xextproto-7.1.1/X11/extensions/syncproto.h

最後變更 在這個檔案是 22660,由 vboxsync 提交於 15 年 前

export more X11 stuff to OSE

  • 屬性 svn:eol-style 設為 native
檔案大小: 9.2 KB
 
1/*
2
3Copyright 1991, 1993, 1994, 1998 The Open Group
4
5Permission to use, copy, modify, distribute, and sell this software and its
6documentation for any purpose is hereby granted without fee, provided that
7the above copyright notice appear in all copies and that both that
8copyright notice and this permission notice appear in supporting
9documentation.
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
21Except as contained in this notice, the name of The Open Group shall not be
22used in advertising or otherwise to promote the sale, use or other dealings
23in this Software without prior written authorization from The Open Group.
24
25*/
26
27/***********************************************************
28Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
29and Olivetti Research Limited, Cambridge, England.
30
31 All Rights Reserved
32
33Permission to use, copy, modify, and distribute this software and its
34documentation for any purpose and without fee is hereby granted,
35provided that the above copyright notice appear in all copies and that
36both that copyright notice and this permission notice appear in
37supporting documentation, and that the names of Digital or Olivetti
38not be used in advertising or publicity pertaining to distribution of the
39software without specific, written prior permission.
40
41DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
42SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
43FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
44CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
45USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
46OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
47PERFORMANCE OF THIS SOFTWARE.
48
49******************************************************************/
50
51#ifndef _SYNCPROTO_H_
52#define _SYNCPROTO_H_
53
54#include <X11/extensions/syncconst.h>
55
56#define X_SyncInitialize 0
57#define X_SyncListSystemCounters 1
58#define X_SyncCreateCounter 2
59#define X_SyncSetCounter 3
60#define X_SyncChangeCounter 4
61#define X_SyncQueryCounter 5
62#define X_SyncDestroyCounter 6
63#define X_SyncAwait 7
64#define X_SyncCreateAlarm 8
65#define X_SyncChangeAlarm 9
66#define X_SyncQueryAlarm 10
67#define X_SyncDestroyAlarm 11
68#define X_SyncSetPriority 12
69#define X_SyncGetPriority 13
70
71/* cover up types from sync.h to make sure they're the right size for
72 * protocol packaging. These will be undef'ed after all the protocol
73 * structures are defined.
74 */
75#define XSyncCounter CARD32
76#define XSyncAlarm CARD32
77
78/*
79 * Initialize
80 */
81typedef struct _xSyncInitialize {
82 CARD8 reqType;
83 CARD8 syncReqType;
84 CARD16 length B16;
85 CARD8 majorVersion;
86 CARD8 minorVersion;
87 CARD16 pad B16;
88} xSyncInitializeReq;
89#define sz_xSyncInitializeReq 8
90
91typedef struct {
92 BYTE type;
93 CARD8 unused;
94 CARD16 sequenceNumber B16;
95 CARD32 length B32;
96 CARD8 majorVersion;
97 CARD8 minorVersion;
98 CARD16 pad B16;
99 CARD32 pad0 B32;
100 CARD32 pad1 B32;
101 CARD32 pad2 B32;
102 CARD32 pad3 B32;
103 CARD32 pad4 B32;
104} xSyncInitializeReply;
105#define sz_xSyncInitializeReply 32
106
107/*
108 * ListSystemCounters
109 */
110typedef struct _xSyncListSystemCounters
111{
112 CARD8 reqType;
113 CARD8 syncReqType;
114 CARD16 length B16;
115} xSyncListSystemCountersReq;
116#define sz_xSyncListSystemCountersReq 4
117
118typedef struct {
119 BYTE type;
120 CARD8 unused;
121 CARD16 sequenceNumber B16;
122 CARD32 length B32;
123 INT32 nCounters B32;
124 CARD32 pad0 B32;
125 CARD32 pad1 B32;
126 CARD32 pad2 B32;
127 CARD32 pad3 B32;
128 CARD32 pad4 B32;
129} xSyncListSystemCountersReply;
130#define sz_xSyncListSystemCountersReply 32
131
132typedef struct {
133 XSyncCounter counter B32;
134 INT32 resolution_hi B32;
135 CARD32 resolution_lo B32;
136 CARD16 name_length B16;
137} xSyncSystemCounter;
138#define sz_xSyncSystemCounter 14
139
140/*
141 * Create Counter
142 */
143typedef struct _xSyncCreateCounterReq {
144 CARD8 reqType;
145 CARD8 syncReqType;
146 CARD16 length B16;
147 XSyncCounter cid B32;
148 INT32 initial_value_hi B32;
149 CARD32 initial_value_lo B32;
150} xSyncCreateCounterReq;
151#define sz_xSyncCreateCounterReq 16
152
153/*
154 * Change Counter
155 */
156typedef struct _xSyncChangeCounterReq {
157 CARD8 reqType;
158 CARD8 syncReqType;
159 CARD16 length B16;
160 XSyncCounter cid B32;
161 INT32 value_hi B32;
162 CARD32 value_lo B32;
163} xSyncChangeCounterReq;
164#define sz_xSyncChangeCounterReq 16
165
166/*
167 * Set Counter
168 */
169typedef struct _xSyncSetCounterReq {
170 CARD8 reqType;
171 CARD8 syncReqType;
172 CARD16 length B16;
173 XSyncCounter cid B32;
174 INT32 value_hi B32;
175 CARD32 value_lo B32;
176} xSyncSetCounterReq;
177#define sz_xSyncSetCounterReq 16
178
179/*
180 * Destroy Counter
181 */
182typedef struct _xSyncDestroyCounterReq {
183 CARD8 reqType;
184 CARD8 syncReqType;
185 CARD16 length B16;
186 XSyncCounter counter B32;
187} xSyncDestroyCounterReq;
188#define sz_xSyncDestroyCounterReq 8
189
190/*
191 * Query Counter
192 */
193typedef struct _xSyncQueryCounterReq {
194 CARD8 reqType;
195 CARD8 syncReqType;
196 CARD16 length B16;
197 XSyncCounter counter B32;
198} xSyncQueryCounterReq;
199#define sz_xSyncQueryCounterReq 8
200
201
202typedef struct {
203 BYTE type;
204 CARD8 unused;
205 CARD16 sequenceNumber B16;
206 CARD32 length B32;
207 INT32 value_hi B32;
208 CARD32 value_lo B32;
209 CARD32 pad0 B32;
210 CARD32 pad1 B32;
211 CARD32 pad2 B32;
212 CARD32 pad3 B32;
213} xSyncQueryCounterReply;
214#define sz_xSyncQueryCounterReply 32
215
216/*
217 * Await
218 */
219typedef struct _xSyncAwaitReq {
220 CARD8 reqType;
221 CARD8 syncReqType;
222 CARD16 length B16;
223} xSyncAwaitReq;
224#define sz_xSyncAwaitReq 4
225
226typedef struct _xSyncWaitCondition {
227 XSyncCounter counter B32;
228 CARD32 value_type B32;
229 INT32 wait_value_hi B32;
230 CARD32 wait_value_lo B32;
231 CARD32 test_type B32;
232 INT32 event_threshold_hi B32;
233 CARD32 event_threshold_lo B32;
234} xSyncWaitCondition;
235#define sz_xSyncWaitCondition 28
236
237/*
238 * Create Alarm
239 */
240typedef struct _xSyncCreateAlarmReq {
241 CARD8 reqType;
242 CARD8 syncReqType;
243 CARD16 length B16;
244 XSyncAlarm id B32;
245 CARD32 valueMask B32;
246} xSyncCreateAlarmReq;
247#define sz_xSyncCreateAlarmReq 12
248
249/*
250 * Destroy Alarm
251 */
252typedef struct _xSyncDestroyAlarmReq {
253 CARD8 reqType;
254 CARD8 syncReqType;
255 CARD16 length B16;
256 XSyncAlarm alarm B32;
257} xSyncDestroyAlarmReq;
258#define sz_xSyncDestroyAlarmReq 8
259
260/*
261 * Query Alarm
262 */
263typedef struct _xSyncQueryAlarmReq {
264 CARD8 reqType;
265 CARD8 syncReqType;
266 CARD16 length B16;
267 XSyncAlarm alarm B32;
268} xSyncQueryAlarmReq;
269#define sz_xSyncQueryAlarmReq 8
270
271typedef struct {
272 BYTE type;
273 CARD8 unused;
274 CARD16 sequenceNumber B16;
275 CARD32 length B32;
276 XSyncCounter counter B32;
277 CARD32 value_type B32;
278 INT32 wait_value_hi B32;
279 CARD32 wait_value_lo B32;
280 CARD32 test_type B32;
281 INT32 delta_hi B32;
282 CARD32 delta_lo B32;
283 BOOL events;
284 BYTE state;
285 BYTE pad0;
286 BYTE pad1;
287} xSyncQueryAlarmReply;
288#define sz_xSyncQueryAlarmReply 40
289
290/*
291 * Change Alarm
292 */
293typedef struct _xSyncChangeAlarmReq {
294 CARD8 reqType;
295 CARD8 syncReqType;
296 CARD16 length B16;
297 XSyncAlarm alarm B32;
298 CARD32 valueMask B32;
299} xSyncChangeAlarmReq;
300#define sz_xSyncChangeAlarmReq 12
301
302/*
303 * SetPriority
304 */
305typedef struct _xSyncSetPriority{
306 CARD8 reqType;
307 CARD8 syncReqType;
308 CARD16 length B16;
309 CARD32 id B32;
310 INT32 priority B32;
311} xSyncSetPriorityReq;
312#define sz_xSyncSetPriorityReq 12
313
314/*
315 * Get Priority
316 */
317typedef struct _xSyncGetPriority{
318 CARD8 reqType;
319 CARD8 syncReqType;
320 CARD16 length B16;
321 CARD32 id B32; /*XXX XID? */
322} xSyncGetPriorityReq;
323#define sz_xSyncGetPriorityReq 8
324
325typedef struct {
326 BYTE type;
327 CARD8 unused;
328 CARD16 sequenceNumber B16;
329 CARD32 length B32;
330 INT32 priority B32;
331 CARD32 pad0 B32;
332 CARD32 pad1 B32;
333 CARD32 pad2 B32;
334 CARD32 pad3 B32;
335 CARD32 pad4 B32;
336} xSyncGetPriorityReply;
337#define sz_xSyncGetPriorityReply 32
338
339/*
340 * Events
341 */
342
343typedef struct _xSyncCounterNotifyEvent {
344 BYTE type;
345 BYTE kind;
346 CARD16 sequenceNumber B16;
347 XSyncCounter counter B32;
348 INT32 wait_value_hi B32;
349 CARD32 wait_value_lo B32;
350 INT32 counter_value_hi B32;
351 CARD32 counter_value_lo B32;
352 CARD32 time B32;
353 CARD16 count B16;
354 BOOL destroyed;
355 BYTE pad0;
356} xSyncCounterNotifyEvent;
357
358typedef struct _xSyncAlarmNotifyEvent {
359 BYTE type;
360 BYTE kind;
361 CARD16 sequenceNumber B16;
362 XSyncAlarm alarm B32;
363 INT32 counter_value_hi B32;
364 CARD32 counter_value_lo B32;
365 INT32 alarm_value_hi B32;
366 CARD32 alarm_value_lo B32;
367 CARD32 time B32;
368 CARD8 state;
369 BYTE pad0;
370 BYTE pad1;
371 BYTE pad2;
372} xSyncAlarmNotifyEvent;
373
374#undef XSyncCounter
375#undef XSyncAlarm
376
377
378#endif /* _SYNCPROTO_H_ */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette