Lionel Sambuc 0a6a1f1d05 NetBSD re-synchronization of the source tree
This brings our tree to NetBSD 7.0, as found on -current on the
10-10-2015.

This updates:
 - LLVM to 3.6.1
 - GCC to GCC 5.1
 - Replace minix/commands/zdump with usr.bin/zdump
 - external/bsd/libelf has moved to /external/bsd/elftoolchain/
 - Import ctwm
 - Drop sprintf from libminc

Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
2016-01-13 20:32:14 +01:00

625 lines
20 KiB
C

/*
* This file generated automatically from present.xml by c_client.py.
* Edit at your peril.
*/
/**
* @defgroup XCB_Present_API XCB Present API
* @brief Present XCB Protocol Implementation.
* @{
**/
#ifndef __PRESENT_H
#define __PRESENT_H
#include "xcb.h"
#include "xproto.h"
#include "randr.h"
#include "xfixes.h"
#include "sync.h"
#ifdef __cplusplus
extern "C" {
#endif
#define XCB_PRESENT_MAJOR_VERSION 1
#define XCB_PRESENT_MINOR_VERSION 0
extern xcb_extension_t xcb_present_id;
typedef enum xcb_present_event_enum_t {
XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
} xcb_present_event_enum_t;
typedef enum xcb_present_event_mask_t {
XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
} xcb_present_event_mask_t;
typedef enum xcb_present_option_t {
XCB_PRESENT_OPTION_NONE = 0,
XCB_PRESENT_OPTION_ASYNC = 1,
XCB_PRESENT_OPTION_COPY = 2,
XCB_PRESENT_OPTION_UST = 4
} xcb_present_option_t;
typedef enum xcb_present_capability_t {
XCB_PRESENT_CAPABILITY_NONE = 0,
XCB_PRESENT_CAPABILITY_ASYNC = 1,
XCB_PRESENT_CAPABILITY_FENCE = 2,
XCB_PRESENT_CAPABILITY_UST = 4
} xcb_present_capability_t;
typedef enum xcb_present_complete_kind_t {
XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
} xcb_present_complete_kind_t;
typedef enum xcb_present_complete_mode_t {
XCB_PRESENT_COMPLETE_MODE_COPY = 0,
XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
XCB_PRESENT_COMPLETE_MODE_SKIP = 2
} xcb_present_complete_mode_t;
/**
* @brief xcb_present_notify_t
**/
typedef struct xcb_present_notify_t {
xcb_window_t window; /**< */
uint32_t serial; /**< */
} xcb_present_notify_t;
/**
* @brief xcb_present_notify_iterator_t
**/
typedef struct xcb_present_notify_iterator_t {
xcb_present_notify_t *data; /**< */
int rem; /**< */
int index; /**< */
} xcb_present_notify_iterator_t;
/**
* @brief xcb_present_query_version_cookie_t
**/
typedef struct xcb_present_query_version_cookie_t {
unsigned int sequence; /**< */
} xcb_present_query_version_cookie_t;
/** Opcode for xcb_present_query_version. */
#define XCB_PRESENT_QUERY_VERSION 0
/**
* @brief xcb_present_query_version_request_t
**/
typedef struct xcb_present_query_version_request_t {
uint8_t major_opcode; /**< */
uint8_t minor_opcode; /**< */
uint16_t length; /**< */
uint32_t major_version; /**< */
uint32_t minor_version; /**< */
} xcb_present_query_version_request_t;
/**
* @brief xcb_present_query_version_reply_t
**/
typedef struct xcb_present_query_version_reply_t {
uint8_t response_type; /**< */
uint8_t pad0; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint32_t major_version; /**< */
uint32_t minor_version; /**< */
} xcb_present_query_version_reply_t;
/** Opcode for xcb_present_pixmap. */
#define XCB_PRESENT_PIXMAP 1
/**
* @brief xcb_present_pixmap_request_t
**/
typedef struct xcb_present_pixmap_request_t {
uint8_t major_opcode; /**< */
uint8_t minor_opcode; /**< */
uint16_t length; /**< */
xcb_window_t window; /**< */
xcb_pixmap_t pixmap; /**< */
uint32_t serial; /**< */
xcb_xfixes_region_t valid; /**< */
xcb_xfixes_region_t update; /**< */
int16_t x_off; /**< */
int16_t y_off; /**< */
xcb_randr_crtc_t target_crtc; /**< */
xcb_sync_fence_t wait_fence; /**< */
xcb_sync_fence_t idle_fence; /**< */
uint32_t options; /**< */
uint8_t pad0[4]; /**< */
uint64_t target_msc; /**< */
uint64_t divisor; /**< */
uint64_t remainder; /**< */
} xcb_present_pixmap_request_t;
/** Opcode for xcb_present_notify_msc. */
#define XCB_PRESENT_NOTIFY_MSC 2
/**
* @brief xcb_present_notify_msc_request_t
**/
typedef struct xcb_present_notify_msc_request_t {
uint8_t major_opcode; /**< */
uint8_t minor_opcode; /**< */
uint16_t length; /**< */
xcb_window_t window; /**< */
uint32_t serial; /**< */
uint8_t pad0[4]; /**< */
uint64_t target_msc; /**< */
uint64_t divisor; /**< */
uint64_t remainder; /**< */
} xcb_present_notify_msc_request_t;
typedef uint32_t xcb_present_event_t;
/**
* @brief xcb_present_event_iterator_t
**/
typedef struct xcb_present_event_iterator_t {
xcb_present_event_t *data; /**< */
int rem; /**< */
int index; /**< */
} xcb_present_event_iterator_t;
/** Opcode for xcb_present_select_input. */
#define XCB_PRESENT_SELECT_INPUT 3
/**
* @brief xcb_present_select_input_request_t
**/
typedef struct xcb_present_select_input_request_t {
uint8_t major_opcode; /**< */
uint8_t minor_opcode; /**< */
uint16_t length; /**< */
xcb_present_event_t eid; /**< */
xcb_window_t window; /**< */
uint32_t event_mask; /**< */
} xcb_present_select_input_request_t;
/**
* @brief xcb_present_query_capabilities_cookie_t
**/
typedef struct xcb_present_query_capabilities_cookie_t {
unsigned int sequence; /**< */
} xcb_present_query_capabilities_cookie_t;
/** Opcode for xcb_present_query_capabilities. */
#define XCB_PRESENT_QUERY_CAPABILITIES 4
/**
* @brief xcb_present_query_capabilities_request_t
**/
typedef struct xcb_present_query_capabilities_request_t {
uint8_t major_opcode; /**< */
uint8_t minor_opcode; /**< */
uint16_t length; /**< */
uint32_t target; /**< */
} xcb_present_query_capabilities_request_t;
/**
* @brief xcb_present_query_capabilities_reply_t
**/
typedef struct xcb_present_query_capabilities_reply_t {
uint8_t response_type; /**< */
uint8_t pad0; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint32_t capabilities; /**< */
} xcb_present_query_capabilities_reply_t;
/** Opcode for xcb_present_generic. */
#define XCB_PRESENT_GENERIC 0
/**
* @brief xcb_present_generic_event_t
**/
typedef struct xcb_present_generic_event_t {
uint8_t response_type; /**< */
uint8_t extension; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint16_t evtype; /**< */
uint8_t pad0[2]; /**< */
xcb_present_event_t event; /**< */
} xcb_present_generic_event_t;
/** Opcode for xcb_present_configure_notify. */
#define XCB_PRESENT_CONFIGURE_NOTIFY 0
/**
* @brief xcb_present_configure_notify_event_t
**/
typedef struct xcb_present_configure_notify_event_t {
uint8_t response_type; /**< */
uint8_t extension; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint16_t event_type; /**< */
uint8_t pad0[2]; /**< */
xcb_present_event_t event; /**< */
xcb_window_t window; /**< */
int16_t x; /**< */
int16_t y; /**< */
uint16_t width; /**< */
uint16_t height; /**< */
int16_t off_x; /**< */
int16_t off_y; /**< */
uint32_t full_sequence; /**< */
uint16_t pixmap_width; /**< */
uint16_t pixmap_height; /**< */
uint32_t pixmap_flags; /**< */
} xcb_present_configure_notify_event_t;
/** Opcode for xcb_present_complete_notify. */
#define XCB_PRESENT_COMPLETE_NOTIFY 1
/**
* @brief xcb_present_complete_notify_event_t
**/
typedef struct xcb_present_complete_notify_event_t {
uint8_t response_type; /**< */
uint8_t extension; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint16_t event_type; /**< */
uint8_t kind; /**< */
uint8_t mode; /**< */
xcb_present_event_t event; /**< */
xcb_window_t window; /**< */
uint32_t serial; /**< */
uint64_t ust; /**< */
uint32_t full_sequence; /**< */
uint64_t msc; /**< */
} XCB_PACKED xcb_present_complete_notify_event_t;
/** Opcode for xcb_present_idle_notify. */
#define XCB_PRESENT_IDLE_NOTIFY 2
/**
* @brief xcb_present_idle_notify_event_t
**/
typedef struct xcb_present_idle_notify_event_t {
uint8_t response_type; /**< */
uint8_t extension; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint16_t event_type; /**< */
uint8_t pad0[2]; /**< */
xcb_present_event_t event; /**< */
xcb_window_t window; /**< */
uint32_t serial; /**< */
xcb_pixmap_t pixmap; /**< */
xcb_sync_fence_t idle_fence; /**< */
uint32_t full_sequence; /**< */
} xcb_present_idle_notify_event_t;
/** Opcode for xcb_present_redirect_notify. */
#define XCB_PRESENT_REDIRECT_NOTIFY 3
/**
* @brief xcb_present_redirect_notify_event_t
**/
typedef struct xcb_present_redirect_notify_event_t {
uint8_t response_type; /**< */
uint8_t extension; /**< */
uint16_t sequence; /**< */
uint32_t length; /**< */
uint16_t event_type; /**< */
uint8_t update_window; /**< */
uint8_t pad0; /**< */
xcb_present_event_t event; /**< */
xcb_window_t event_window; /**< */
xcb_window_t window; /**< */
xcb_pixmap_t pixmap; /**< */
uint32_t serial; /**< */
uint32_t full_sequence; /**< */
xcb_xfixes_region_t valid_region; /**< */
xcb_xfixes_region_t update_region; /**< */
xcb_rectangle_t valid_rect; /**< */
xcb_rectangle_t update_rect; /**< */
int16_t x_off; /**< */
int16_t y_off; /**< */
xcb_randr_crtc_t target_crtc; /**< */
xcb_sync_fence_t wait_fence; /**< */
xcb_sync_fence_t idle_fence; /**< */
uint32_t options; /**< */
uint8_t pad1[4]; /**< */
uint64_t target_msc; /**< */
uint64_t divisor; /**< */
uint64_t remainder; /**< */
} XCB_PACKED xcb_present_redirect_notify_event_t;
/**
* Get the next element of the iterator
* @param i Pointer to a xcb_present_notify_iterator_t
*
* Get the next element in the iterator. The member rem is
* decreased by one. The member data points to the next
* element. The member index is increased by sizeof(xcb_present_notify_t)
*/
void
xcb_present_notify_next (xcb_present_notify_iterator_t *i /**< */);
/**
* Return the iterator pointing to the last element
* @param i An xcb_present_notify_iterator_t
* @return The iterator pointing to the last element
*
* Set the current element in the iterator to the last element.
* The member rem is set to 0. The member data points to the
* last element.
*/
xcb_generic_iterator_t
xcb_present_notify_end (xcb_present_notify_iterator_t i /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
*/
xcb_present_query_version_cookie_t
xcb_present_query_version (xcb_connection_t *c /**< */,
uint32_t major_version /**< */,
uint32_t minor_version /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
* This form can be used only if the request will cause
* a reply to be generated. Any returned error will be
* placed in the event queue.
*/
xcb_present_query_version_cookie_t
xcb_present_query_version_unchecked (xcb_connection_t *c /**< */,
uint32_t major_version /**< */,
uint32_t minor_version /**< */);
/**
* Return the reply
* @param c The connection
* @param cookie The cookie
* @param e The xcb_generic_error_t supplied
*
* Returns the reply of the request asked by
*
* The parameter @p e supplied to this function must be NULL if
* xcb_present_query_version_unchecked(). is used.
* Otherwise, it stores the error if any.
*
* The returned value must be freed by the caller using free().
*/
xcb_present_query_version_reply_t *
xcb_present_query_version_reply (xcb_connection_t *c /**< */,
xcb_present_query_version_cookie_t cookie /**< */,
xcb_generic_error_t **e /**< */);
int
xcb_present_pixmap_sizeof (const void *_buffer /**< */,
uint32_t notifies_len /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
* This form can be used only if the request will not cause
* a reply to be generated. Any returned error will be
* saved for handling by xcb_request_check().
*/
xcb_void_cookie_t
xcb_present_pixmap_checked (xcb_connection_t *c /**< */,
xcb_window_t window /**< */,
xcb_pixmap_t pixmap /**< */,
uint32_t serial /**< */,
xcb_xfixes_region_t valid /**< */,
xcb_xfixes_region_t update /**< */,
int16_t x_off /**< */,
int16_t y_off /**< */,
xcb_randr_crtc_t target_crtc /**< */,
xcb_sync_fence_t wait_fence /**< */,
xcb_sync_fence_t idle_fence /**< */,
uint32_t options /**< */,
uint64_t target_msc /**< */,
uint64_t divisor /**< */,
uint64_t remainder /**< */,
uint32_t notifies_len /**< */,
const xcb_present_notify_t *notifies /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
*/
xcb_void_cookie_t
xcb_present_pixmap (xcb_connection_t *c /**< */,
xcb_window_t window /**< */,
xcb_pixmap_t pixmap /**< */,
uint32_t serial /**< */,
xcb_xfixes_region_t valid /**< */,
xcb_xfixes_region_t update /**< */,
int16_t x_off /**< */,
int16_t y_off /**< */,
xcb_randr_crtc_t target_crtc /**< */,
xcb_sync_fence_t wait_fence /**< */,
xcb_sync_fence_t idle_fence /**< */,
uint32_t options /**< */,
uint64_t target_msc /**< */,
uint64_t divisor /**< */,
uint64_t remainder /**< */,
uint32_t notifies_len /**< */,
const xcb_present_notify_t *notifies /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
* This form can be used only if the request will not cause
* a reply to be generated. Any returned error will be
* saved for handling by xcb_request_check().
*/
xcb_void_cookie_t
xcb_present_notify_msc_checked (xcb_connection_t *c /**< */,
xcb_window_t window /**< */,
uint32_t serial /**< */,
uint64_t target_msc /**< */,
uint64_t divisor /**< */,
uint64_t remainder /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
*/
xcb_void_cookie_t
xcb_present_notify_msc (xcb_connection_t *c /**< */,
xcb_window_t window /**< */,
uint32_t serial /**< */,
uint64_t target_msc /**< */,
uint64_t divisor /**< */,
uint64_t remainder /**< */);
/**
* Get the next element of the iterator
* @param i Pointer to a xcb_present_event_iterator_t
*
* Get the next element in the iterator. The member rem is
* decreased by one. The member data points to the next
* element. The member index is increased by sizeof(xcb_present_event_t)
*/
void
xcb_present_event_next (xcb_present_event_iterator_t *i /**< */);
/**
* Return the iterator pointing to the last element
* @param i An xcb_present_event_iterator_t
* @return The iterator pointing to the last element
*
* Set the current element in the iterator to the last element.
* The member rem is set to 0. The member data points to the
* last element.
*/
xcb_generic_iterator_t
xcb_present_event_end (xcb_present_event_iterator_t i /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
* This form can be used only if the request will not cause
* a reply to be generated. Any returned error will be
* saved for handling by xcb_request_check().
*/
xcb_void_cookie_t
xcb_present_select_input_checked (xcb_connection_t *c /**< */,
xcb_present_event_t eid /**< */,
xcb_window_t window /**< */,
uint32_t event_mask /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
*/
xcb_void_cookie_t
xcb_present_select_input (xcb_connection_t *c /**< */,
xcb_present_event_t eid /**< */,
xcb_window_t window /**< */,
uint32_t event_mask /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
*/
xcb_present_query_capabilities_cookie_t
xcb_present_query_capabilities (xcb_connection_t *c /**< */,
uint32_t target /**< */);
/**
*
* @param c The connection
* @return A cookie
*
* Delivers a request to the X server.
*
* This form can be used only if the request will cause
* a reply to be generated. Any returned error will be
* placed in the event queue.
*/
xcb_present_query_capabilities_cookie_t
xcb_present_query_capabilities_unchecked (xcb_connection_t *c /**< */,
uint32_t target /**< */);
/**
* Return the reply
* @param c The connection
* @param cookie The cookie
* @param e The xcb_generic_error_t supplied
*
* Returns the reply of the request asked by
*
* The parameter @p e supplied to this function must be NULL if
* xcb_present_query_capabilities_unchecked(). is used.
* Otherwise, it stores the error if any.
*
* The returned value must be freed by the caller using free().
*/
xcb_present_query_capabilities_reply_t *
xcb_present_query_capabilities_reply (xcb_connection_t *c /**< */,
xcb_present_query_capabilities_cookie_t cookie /**< */,
xcb_generic_error_t **e /**< */);
int
xcb_present_redirect_notify_sizeof (const void *_buffer /**< */,
uint32_t notifies_len /**< */);
#ifdef __cplusplus
}
#endif
#endif
/**
* @}
*/