X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb.h;h=114f2cf089e2e2af910fe04ebeeba20a3eaf3fae;hb=0d7fb3afdd308d714a97144125a69a5f4976916a;hp=27f57b8abf6d60852f1646dbeff4c1acb8b58805;hpb=9472c251ae426bb496a3112d0ae390f1f1c35515;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb.h b/src/xcb.h index 27f57b8..114f2cf 100644 --- a/src/xcb.h +++ b/src/xcb.h @@ -25,13 +25,18 @@ * authorization from the authors. */ -#ifndef __XCB_H -#define __XCB_H +#ifndef __XCB_H__ +#define __XCB_H__ #include -/* TODO: check for stdint in config? (HAVE_STDINT) fallback? */ +#if defined(__solaris__) +#include +#else #include +#endif +/* FIXME: these names conflict with those defined in Xmd.h. */ +#ifndef XMD_H typedef uint8_t BYTE; typedef uint8_t BOOL; typedef uint8_t CARD8; @@ -40,22 +45,16 @@ typedef uint32_t CARD32; typedef int8_t INT8; typedef int16_t INT16; typedef int32_t INT32; +#endif /* XMD_H */ -#include #include #include + #ifdef __cplusplus extern "C" { #endif -#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) -#define deprecated __attribute__((__deprecated__)) -#else -#define deprecated -#endif - - /** * @file xcb.h */ @@ -80,7 +79,6 @@ extern "C" { #define XCB_TYPE_PAD(T,I) (-(I) & (sizeof(T) > 4 ? 3 : sizeof(T) - 1)) - /* Opaque structures */ /** @@ -152,11 +150,23 @@ typedef struct { } XCBVoidCookie; -/* Include the generated xproto and xcb_types headers. */ -#include "xcb_types.h" +/* Include the generated xproto header. */ #include "xproto.h" +/** XCBNone is the universal null resource or null atom parameter value for many core X requests */ +#define XCBNone 0L + +/** XCBCopyFromParent can be used for many CreateWindow parameters */ +#define XCBCopyFromParent 0L + +/** XCBCurrentTime can be used in most requests that take an XCBTIMESTAMP */ +#define XCBCurrentTime 0L + +/** XCBNoSymbol fills in unused entries in XCBKEYSYM tables */ +#define XCBNoSymbol 0L + + /* xcb_auth.c */ /** @@ -171,17 +181,6 @@ typedef struct XCBAuthInfo { char *data; /**< Data interpreted in a protocol-specific manner. */ } XCBAuthInfo; -/** - * @brief Gets authorization information. - * @param fd: The file descriptor. - * @param info: The authorisation info to set. - * @return @c 0 on failure, 1 otherwise. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -int XCBGetAuthInfo(int fd, XCBAuthInfo *info) deprecated; - /* xcb_out.c */ @@ -216,16 +215,6 @@ CARD32 XCBGetMaximumRequestLength(XCBConnection *c); /* xcb_in.c */ -/** - * @brief Returns the next event or error from the server. - * @param c: The connection to the X server. - * @return The next event from the server. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -XCBGenericEvent *XCBWaitEvent(XCBConnection *c) deprecated; - /** * @brief Returns the next event or error from the server. * @param c: The connection to the X server. @@ -255,18 +244,22 @@ XCBGenericEvent *XCBWaitForEvent(XCBConnection *c); XCBGenericEvent *XCBPollForEvent(XCBConnection *c, int *error); /** - * @brief Returns the last sequence number that the server is known to - * have processed. + * @brief Return the error for a request, or NULL if none can ever arrive. * @param c: The connection to the X server. - * @return The last sequence number. + * @param cookie: The request cookie. + * @return The error for the request, or NULL if none can ever arrive. * - * Returns the last sequence number that the server is known to have - * processed. This function enables applications to determine whether - * forcing a cookie is going to block. + * The XCBVoidCookie cookie supplied to this function must have resulted from + * a call to XCB[RequestName]Checked(). This function will block until one of + * two conditions happens. If an error is received, it will be returned. If + * a reply to a subsequent request has already arrived, no error can arrive + * for this request, so this function will return NULL. * - * @todo review that function. + * Note that this function will perform a sync if needed to ensure that the + * sequence number will advance beyond that provided in cookie; this is a + * convenience to avoid races in determining whether the sync is needed. */ -unsigned int XCBGetRequestRead(XCBConnection *c); +XCBGenericError *XCBRequestCheck(XCBConnection *c, XCBVoidCookie cookie); /* xcb_ext.c */ @@ -280,7 +273,7 @@ typedef struct XCBExtension XCBExtension; /**< Opaque structure used as key for * @brief Caches reply information from QueryExtension requests. * @param c: The connection. * @param ext: The extension data. - * @return A pointer to a XCBConnSetupSuccessRep pointer. + * @return A pointer to the XCBQueryExtensionRep for the extension. * * This function is the primary interface to the "extension cache", * which caches reply information from QueryExtension @@ -313,7 +306,7 @@ void XCBPrefetchExtensionData(XCBConnection *c, XCBExtension *ext); /** * @brief Access the data returned by the server. * @param c: The connection. - * @return A pointer to a XCBConnSetupSuccessRep pointer. + * @return A pointer to an XCBSetup structure. * * Accessor for the data returned by the server when the XCBConnection * was initialized. This data includes @@ -328,7 +321,7 @@ void XCBPrefetchExtensionData(XCBConnection *c, XCBExtension *ext); * * The result must not be freed. */ -const XCBConnSetupSuccessRep *XCBGetSetup(XCBConnection *c); +const XCBSetup *XCBGetSetup(XCBConnection *c); /** * @brief Access the file descriptor of the connection. @@ -386,47 +379,6 @@ void XCBDisconnect(XCBConnection *c); */ int XCBParseDisplay(const char *name, char **host, int *display, int *screen); -/** - * @brief Open a connection to the X server. - * @param host: The host name. - * @param display: The display number. - * @return The file descriptor. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -int XCBOpen(const char *host, int display) deprecated; - -/** - * @brief Open a connection to the X server. - * @param host: The host name. - * @param port: The TCP port. - * @return The file descriptor. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -int XCBOpenTCP(const char *host, unsigned short port) deprecated; - -/** - * @brief Connects to the X server. - * @param file: The file name. - * @return The file descriptor. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -int XCBOpenUnix(const char *file) deprecated; - -/** - * @brief Connects to the X server. - * @return A newly allocated XCBConnection structure. - * - * @deprecated This function is deprecated. It must not be used in - * newly written code. - */ -XCBConnection *XCBConnectBasic(void) deprecated; - /** * @brief Connects to the X server. * @param displayname: The name of the display. @@ -455,26 +407,14 @@ XCBConnection *XCBConnect(const char *displayname, int *screenp); */ XCBConnection *XCBConnectToDisplayWithAuthInfo(const char *display, XCBAuthInfo *auth, int *screen); -/** - * @brief Ensures that all events and errors are avalaible in XCB. - * @param c: The connection to the X server. - * @param e: A pointer to an error. - * @return @c 1 on success, @c 0 otherwise. - * - * Blocks the calling thread for the duration of one round trip to the - * server, ensuring that all events and errors caused by previous - * requests are available to XCB. - */ -int XCBSync(XCBConnection *c, XCBGenericError **e); - /** * @} */ - #ifdef __cplusplus } #endif -#endif + +#endif /* __XCB_H__ */