X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb.h;h=114f2cf089e2e2af910fe04ebeeba20a3eaf3fae;hb=0d7fb3afdd308d714a97144125a69a5f4976916a;hp=204164ad410c470554036f5e095abe88913f90be;hpb=df5d8adc1f18776e4417a03b465dae9273511fb1;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb.h b/src/xcb.h index 204164a..114f2cf 100644 --- a/src/xcb.h +++ b/src/xcb.h @@ -25,12 +25,15 @@ * 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 @@ -44,21 +47,14 @@ 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 */ @@ -83,13 +79,6 @@ extern "C" { #define XCB_TYPE_PAD(T,I) (-(I) & (sizeof(T) > 4 ? 3 : sizeof(T) - 1)) - -/** 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 - /* Opaque structures */ /** @@ -161,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 */ /** @@ -180,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 */ @@ -225,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. @@ -264,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 */ @@ -289,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 @@ -322,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 @@ -337,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. @@ -395,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. @@ -464,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__ */