|
Lines 33-38
from The Open Group.
Link Here
|
| 33 |
#include <X11/Xos.h> |
33 |
#include <X11/Xos.h> |
| 34 |
#include <stdio.h> |
34 |
#include <stdio.h> |
| 35 |
|
35 |
|
|
|
36 |
/* The X11 protocol spec reserves events 64 through 127 for extensions */ |
| 37 |
#ifndef LastExtensionEvent |
| 38 |
#define LastExtensionEvent 127 |
| 39 |
#endif |
| 40 |
|
| 41 |
/* The X11 protocol spec reserves requests 128 through 255 for extensions */ |
| 42 |
#ifndef LastExtensionRequest |
| 43 |
#define FirstExtensionRequest 128 |
| 44 |
#define LastExtensionRequest 255 |
| 45 |
#endif |
| 46 |
|
| 47 |
|
| 36 |
/* |
48 |
/* |
| 37 |
* This routine is used to link a extension in so it will be called |
49 |
* This routine is used to link a extension in so it will be called |
| 38 |
* at appropriate times. |
50 |
* at appropriate times. |
|
Lines 242-247
WireToEventType XESetWireToEvent(
Link Here
|
| 242 |
WireToEventType proc) /* routine to call when converting event */ |
254 |
WireToEventType proc) /* routine to call when converting event */ |
| 243 |
{ |
255 |
{ |
| 244 |
register WireToEventType oldproc; |
256 |
register WireToEventType oldproc; |
|
|
257 |
if (event_number < 0 || |
| 258 |
event_number > LastExtensionEvent) { |
| 259 |
fprintf(stderr, "Xlib: ignoring invalid extension event %d\n", |
| 260 |
event_number); |
| 261 |
return (WireToEventType)_XUnknownWireEvent; |
| 262 |
} |
| 245 |
if (proc == NULL) proc = (WireToEventType)_XUnknownWireEvent; |
263 |
if (proc == NULL) proc = (WireToEventType)_XUnknownWireEvent; |
| 246 |
LockDisplay (dpy); |
264 |
LockDisplay (dpy); |
| 247 |
oldproc = dpy->event_vec[event_number]; |
265 |
oldproc = dpy->event_vec[event_number]; |
|
Lines 263-268
WireToEventCookieType XESetWireToEventCookie(
Link Here
|
| 263 |
) |
281 |
) |
| 264 |
{ |
282 |
{ |
| 265 |
WireToEventCookieType oldproc; |
283 |
WireToEventCookieType oldproc; |
|
|
284 |
if (extension < FirstExtensionRequest || |
| 285 |
extension > LastExtensionRequest) { |
| 286 |
fprintf(stderr, "Xlib: ignoring invalid extension opcode %d\n", |
| 287 |
extension); |
| 288 |
return (WireToEventCookieType)_XUnknownWireEventCookie; |
| 289 |
} |
| 266 |
if (proc == NULL) proc = (WireToEventCookieType)_XUnknownWireEventCookie; |
290 |
if (proc == NULL) proc = (WireToEventCookieType)_XUnknownWireEventCookie; |
| 267 |
LockDisplay (dpy); |
291 |
LockDisplay (dpy); |
| 268 |
oldproc = dpy->generic_event_vec[extension & 0x7F]; |
292 |
oldproc = dpy->generic_event_vec[extension & 0x7F]; |
|
Lines 284-289
CopyEventCookieType XESetCopyEventCookie(
Link Here
|
| 284 |
) |
308 |
) |
| 285 |
{ |
309 |
{ |
| 286 |
CopyEventCookieType oldproc; |
310 |
CopyEventCookieType oldproc; |
|
|
311 |
if (extension < FirstExtensionRequest || |
| 312 |
extension > LastExtensionRequest) { |
| 313 |
fprintf(stderr, "Xlib: ignoring invalid extension opcode %d\n", |
| 314 |
extension); |
| 315 |
return (CopyEventCookieType)_XUnknownCopyEventCookie; |
| 316 |
} |
| 287 |
if (proc == NULL) proc = (CopyEventCookieType)_XUnknownCopyEventCookie; |
317 |
if (proc == NULL) proc = (CopyEventCookieType)_XUnknownCopyEventCookie; |
| 288 |
LockDisplay (dpy); |
318 |
LockDisplay (dpy); |
| 289 |
oldproc = dpy->generic_event_copy_vec[extension & 0x7F]; |
319 |
oldproc = dpy->generic_event_copy_vec[extension & 0x7F]; |
|
Lines 305-310
EventToWireType XESetEventToWire(
Link Here
|
| 305 |
EventToWireType proc) /* routine to call when converting event */ |
335 |
EventToWireType proc) /* routine to call when converting event */ |
| 306 |
{ |
336 |
{ |
| 307 |
register EventToWireType oldproc; |
337 |
register EventToWireType oldproc; |
|
|
338 |
if (event_number < 0 || |
| 339 |
event_number > LastExtensionEvent) { |
| 340 |
fprintf(stderr, "Xlib: ignoring invalid extension event %d\n", |
| 341 |
event_number); |
| 342 |
return (EventToWireType)_XUnknownNativeEvent; |
| 343 |
} |
| 308 |
if (proc == NULL) proc = (EventToWireType) _XUnknownNativeEvent; |
344 |
if (proc == NULL) proc = (EventToWireType) _XUnknownNativeEvent; |
| 309 |
LockDisplay (dpy); |
345 |
LockDisplay (dpy); |
| 310 |
oldproc = dpy->wire_vec[event_number]; |
346 |
oldproc = dpy->wire_vec[event_number]; |
|
Lines 325-330
WireToErrorType XESetWireToError(
Link Here
|
| 325 |
WireToErrorType proc) /* routine to call when converting error */ |
361 |
WireToErrorType proc) /* routine to call when converting error */ |
| 326 |
{ |
362 |
{ |
| 327 |
register WireToErrorType oldproc = NULL; |
363 |
register WireToErrorType oldproc = NULL; |
|
|
364 |
if (error_number < 0 || |
| 365 |
error_number > LastExtensionError) { |
| 366 |
fprintf(stderr, "Xlib: ignoring invalid extension error %d\n", |
| 367 |
error_number); |
| 368 |
return (WireToErrorType)_XDefaultWireError; |
| 369 |
} |
| 328 |
if (proc == NULL) proc = (WireToErrorType)_XDefaultWireError; |
370 |
if (proc == NULL) proc = (WireToErrorType)_XDefaultWireError; |
| 329 |
LockDisplay (dpy); |
371 |
LockDisplay (dpy); |
| 330 |
if (!dpy->error_vec) { |
372 |
if (!dpy->error_vec) { |
| 331 |
- |
|
|