Commit Graph

34 Commits

Author SHA1 Message Date
Jamey Sharp 40589db812 Add xcb_xlib_lock and xcb_xlib_unlock, a special-purpose two-level recursive lock just for libX11. 2006-10-04 15:01:00 -07:00
Jamey Sharp 57b0cd8fea Factor out pthread_mutex_lock and unlock calls for the iolock. 2006-10-04 14:52:49 -07:00
Josh Triplett a3bd6f4760 The Great XCB Renaming
Rename API to follow a new naming convention:
* XCB_CONSTANTS_UPPERCASE_WITH_UNDERSCORES
* xcb_functions_lowercase_with_underscores
* xcb_types_lowercase_with_underscores_and_suffix_t
* expand all abbreviations like "req", "rep", and "iter"

Word boundaries for the names in the protocol descriptions fall:
* Wherever the protocol descriptions already have an underscore
* Between a lowercase letter and a subsequent uppercase letter
* Before the last uppercase letter in a string of uppercase letters followed
  by a lowercase letter (such as in LSBFirst between LSB and First)
* Before and after a string of digits (with exceptions for sized types like
  xcb_char2b_t and xcb_glx_float32_t to match the stdint.h convention)

Also fix up some particular naming issues:
* Rename shape_op and shape_kind to drop the "shape_" prefix, since otherwise
  these types end up as xcb_shape_shape_{op,kind}_t.
* Remove leading underscores from enums in the GLX protocol description,
  previously needed to ensure a word separator, but now redundant.

This renaming breaks code written for the previous API naming convention.  The
scripts in XCB's tools directory will convert code written for the old API to
use the new API; they work well enough that we used them to convert the
non-program-generated code in XCB, and when run on the old program-generated
code, they almost exactly reproduce the new program-generated code (modulo
whitespace and bugs in the old code generator).

Authors: Vincent Torri, Thomas Hunger, Josh Triplett
2006-09-23 12:22:22 -07:00
Jamey Sharp 79e3227022 Add a private connection shutdown method for error cases. 2006-09-21 15:31:14 -07:00
Jamey Sharp ac17ae62fe Provide a "has error" property for XCBConnection. 2006-09-21 15:17:18 -07:00
Keith Packard db2504130b Switch sequence comparisons to handle 32-bit sequence number wrap.
Create a macro, XCB_SEQUENCE_COMPARE, that accepts two sequence numbers and
a comparison operator and correctly handles 32-bit wrap around.
Rewrite all ordered sequence number comparisons to use this macro.
Also, caught one error where a sequence was stored in a signed int variable.
Push out a GetInputFocus request when the sequence number does wrap at 32
bits so that applications cannot see sequence 0 (as that is an error
indicator).
2006-07-01 00:16:07 -07:00
Jamey Sharp dd932e025b Rename ConnSetup* to Setup*, Setup*Rep to Setup*, and SetupSuccess* to Setup*. Provide deprecated backwards-compatability functions and typedefs for the old names, to be removed before 1.0. 2006-04-26 23:19:16 -07:00
Ian Osgood be1302b6ef Remove last deprecation warning. 2006-03-13 10:36:13 -08:00
Jamey Sharp b83f18a4cc Only _xcb_conn_wait calls _xcb_out_write now, so move it to xcb_conn.c and make it static. 2006-03-12 13:20:29 -08:00
Jamey Sharp fb61c94d68 Remove c->out.vec. Pass iovecs directly down the call tree. Add _xcb_out_flush_to, refactor other functions, make write_block static. 2006-03-12 12:40:34 -08:00
Jamey Sharp 83e652f566 Move c->out.vec refs out of _xcb_conn_wait up to _xcb_out_flush. 2006-03-09 00:02:42 -08:00
Jamey Sharp 621f891c49 Move c->out.vec refs out of _xcb_out_write up to _xcb_conn_wait. 2006-03-08 14:21:16 -08:00
TORRI Vincent 522a6e0eac Use the GCC 4 visibility extension to mark everything in xcbint.h hidden. 2006-03-07 10:25:23 -08:00
Jamey Sharp e5458e477d Implement provably-correct sequence wrap handling. Add flag XCB_REQUEST_DISCARD_REPLY. 2006-03-05 00:20:50 -08:00
Jamey Sharp ed823bf651 Separate notion of request-completed from current-request, and mark requests completed more aggressively. Detects some usage errors that are otherwise undetectable. 2006-03-02 13:49:00 -08:00
Jamey Sharp 8ab4dcde9d _xcb_list is no longer used, so remove it. Simplify _xcb_map. 2006-02-27 02:14:48 -08:00
Jamey Sharp 76ad79a7ad Replace readers generic list with hand-written typesafe version. 2006-02-27 01:43:07 -08:00
Jamey Sharp 50acfeae36 Delete unused xcb_list functions and refactor others. 2006-02-26 23:43:44 -08:00
Jamey Sharp 86ce18c22c Replace current_reply generic queue with hand-written version. No generic queues remain so delete their implementation. 2006-02-26 22:58:17 -08:00
Jamey Sharp 0f130b4d94 Replace events generic queue with hand-written typesafe version. 2006-02-26 18:28:50 -08:00
Jamey Sharp ff7b6c9124 API/ABI break: Add flags to XCBSendRequest, first for error-checked requests.
There's no more race condition between event and reply handling.
The *RequestBlind and *RequestChecked functions are not yet implemented.
2006-02-26 15:45:08 -08:00
Jamey Sharp 7875040fa1 Replace pending_replies generic queue with a hand-implemented typesafe version. 2006-02-26 02:00:03 -08:00
Jamey Sharp a1eff0c49a Replace my old generic map ADT with a growable array for the extension cache. 2006-02-26 01:27:01 -08:00
Jamey Sharp bae98d3604 Move _xcb_set_fd_flags to xcb_conn.c and make it static. xcb_util.c now has only public functions. 2006-02-24 01:50:48 -08:00
Jamey Sharp 67b2649dc4 Move _xcb_read_block to xcb_in.c and make it static. Change calls in xcb_conn.c to _xcb_in_read_block instead. 2006-02-24 01:40:45 -08:00
Jamey Sharp 838317f4d3 Remove XCB_CEIL and use a simpler definition for XCB_PAD. 2006-02-24 01:17:03 -08:00
Jamey Sharp 1b50d2ee1e Quit using "-include config.h": use #ifdef HAVE_CONFIG_H etc. like everyone else. 2006-02-24 01:04:48 -08:00
Jamey Sharp 3f8d0bd532 Move _xcb_readn to xcb_in.c and make it static. Minor change to _xcb_read_block to not depend on _xcb_readn. 2006-02-24 00:48:18 -08:00
Jamey Sharp 1b83f8f8f3 Remove _xcb_assert_valid_sequence. One test is trivially true, and the other may be temporarily violated without anything bad happening. 2006-02-23 14:30:08 -08:00
Jamey Sharp 55c1842686 Move _xcb_write and _xcb_writev to xcb_out.c and make them static, since only _xcb_out_write calls them. 2006-02-23 12:48:27 -08:00
Jamey Sharp 6149c7a6b5 More return value changes, and make _xcb_in_read_packet static since it is not called from outside xcb_in.c. 2006-02-23 12:15:09 -08:00
Jamey Sharp a7d749ec3f Remove vestiges of adjacent request combining implementation. It is very dead. 2006-02-22 23:09:29 -08:00
Jamey Sharp 5b7182c659 Workaround X server bug, fd.o #3210: if a GLXGetFBConfigs request is sent, fix the length field in the reply. 2006-02-18 18:12:40 -08:00
Josh Triplett 47ceed7861 Remove xcl and CVSROOT. 2006-02-18 16:49:41 -08:00