home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / xcb / xcbext.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-17  |  2.3 KB  |  78 lines

  1. /*
  2.  * Copyright (C) 2001-2004 Bart Massey and Jamey Sharp.
  3.  * All Rights Reserved.
  4.  *
  5.  * Permission is hereby granted, free of charge, to any person obtaining a
  6.  * copy of this software and associated documentation files (the "Software"),
  7.  * to deal in the Software without restriction, including without limitation
  8.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  9.  * and/or sell copies of the Software, and to permit persons to whom the
  10.  * Software is furnished to do so, subject to the following conditions:
  11.  * 
  12.  * The above copyright notice and this permission notice shall be included in
  13.  * all copies or substantial portions of the Software.
  14.  * 
  15.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  18.  * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  19.  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  20.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  21.  * 
  22.  * Except as contained in this notice, the names of the authors or their
  23.  * institutions shall not be used in advertising or otherwise to promote the
  24.  * sale, use or other dealings in this Software without prior written
  25.  * authorization from the authors.
  26.  */
  27.  
  28. #ifndef __XCBEXT_H
  29. #define __XCBEXT_H
  30.  
  31. #include "xcb.h"
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36.  
  37. /* xcb_ext.c */
  38.  
  39. struct xcb_extension_t {
  40.     const char *name;
  41.     int global_id;
  42. };
  43.  
  44.  
  45. /* xcb_out.c */
  46.  
  47. typedef struct {
  48.     size_t count;
  49.     xcb_extension_t *ext;
  50.     uint8_t opcode;
  51.     uint8_t isvoid;
  52. } xcb_protocol_request_t;
  53.  
  54. enum xcb_send_request_flags_t {
  55.     XCB_REQUEST_CHECKED = 1 << 0,
  56.     XCB_REQUEST_RAW = 1 << 1,
  57.     XCB_REQUEST_DISCARD_REPLY = 1 << 2
  58. };
  59.  
  60. unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request);
  61.  
  62.  
  63. /* xcb_in.c */
  64.  
  65. void *xcb_wait_for_reply(xcb_connection_t *c, unsigned int request, xcb_generic_error_t **e);
  66. int xcb_poll_for_reply(xcb_connection_t *c, unsigned int request, void **reply, xcb_generic_error_t **error);
  67.  
  68.  
  69. /* xcb_util.c */
  70.  
  71. int xcb_popcount(uint32_t mask);
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76.  
  77. #endif
  78.