Commit Graph

177 Commits

Author SHA1 Message Date
Jamey Sharp 978e8839cb NetBSD doesn't have AI_ADDRCONFIG: use it only if it's available.
(cherry picked from commit 3360d0c79e)
2006-11-25 23:47:51 -08:00
Diego 'Flameeyes' Pettenò 11738b2af0 Avoid race condition when using multiple make jobs
Avoid race condition when symlinking XML files.
When declaring a rule with many files as target, the rule is called
when any of them is requested, resulting in multiple for loops happening
during a make process using more than one job.
Also, use '$(LN_S) -f' rather than removing and recreating a file,
that one should be as supported as 'rm -f' and requires one less command.
2006-11-23 07:32:18 -08:00
Josh Triplett 608058ec80 Remove --with-opt and --with-debug options from configure.ac; use CFLAGS instead
configure supports using custom CFLAGS, so remove the --with-opt and
--with-debug options from configure.ac, and the corresponding usage of
COPTFLAGS and CDEBUGFLAGS in src/Makefile.am.
2006-11-22 22:47:15 -08:00
Jamey Sharp 183c2ba4cc xcb-proto has no libraries or headers, so don't use XCBPROTO_CFLAGS or XCBPROTO_LIBS. 2006-11-22 21:27:41 -08:00
Jamey Sharp e54dfd73a9 Use pthread-stubs as needed, and list xdmcp in Requires.private when XCB is built to use it. 2006-11-22 20:29:04 -08:00
Josh Triplett 3de6ab7b78 Replace uses of "long" with uint32_t, and similar; fixes 64-bit bugs 2006-11-21 20:29:34 -08:00
Ian Osgood 7fbfebaa3f Fix IP6 work for FreeBSD/Mac. 2006-11-21 09:04:37 -08:00
Josh Triplett 684b8271a4 Support XDM-AUTHORIZATION-1 on IPv6
Commit by Jamey Sharp and Josh Triplett.
2006-11-21 00:57:49 -08:00
Josh Triplett d6abe93b06 Refactor auth code to get display number from xcb_connect
Change xcb_connect to pass the display number to _xcb_get_auth_info, which
passes it to get_authptr.  This allows get_authptr to stop hacking the display
number out of the sockaddrs of various address families, such as
port - X_TCP_PORT, or the number after the last X in the UNIX socket path. This
also removes a portability bug introduced during the IPv6 changes: relying on
'\0'-termination of the UNIX socket path in a sockaddr_un.

Commit by Jamey Sharp and Josh Triplett.
2006-11-20 23:28:03 -08:00
Josh Triplett 4a928de402 Only use AI_NUMERICSERV if defined. 2006-11-20 22:26:40 -08:00
Josh Triplett 907f8c8c49 Support authentication for IPv6 connections
Support AF_INET6 in get_authptr, and refactor to use common code for IPv4 and
v4-mapped IPv6 addresses.

Commit by Jamey Sharp and Josh Triplett.
2006-11-20 22:16:24 -08:00
Josh Triplett 48776ce233 Support displays with IPv6 addresses or hosts which resolve to IPv6 addresses
xcb_parse_display already correctly handled IPv6 displays.  Now, _xcb_open_tcp
uses getaddrinfo, and correctly connects to IPv6 displays.  Displays can use
bare IPv6 addresses, square-bracketed IPv6 addresses, or hostnames which
resolve to IPv6 addresses.

Since IPv6 addresses may include colons, including at the end, revise the
DECnet display parsing code to avoid triggering on IPv6 addresses.

Authorization may not work with IPv6 connections yet.

This commit brought to you by the (display) number ::1:1.1, the letter X,
the Gobby collaborative editor, Josh Triplett, and Jamey Sharp.
2006-11-20 17:54:34 -08:00
Jamey Sharp 3d9bb02012 Bug #5958: Also zero out the implicit pad byte in empty requests. 2006-11-19 23:59:25 -08:00
Jamey Sharp 3fa50020d2 Remove support for the <localfield> tag: nothing needs it.
Only one use of <localfield> remained, for a list length expression in
xv.xml. List length parameters that don't actually appear in the
protocol should be left implicit: if no length expression is given, then
a localfield will be automatically created by c-client.xsl.
2006-11-19 20:59:10 -08:00
Jamey Sharp 16e7328b4a Bug #5958: zero out padding bytes in requests. 2006-11-19 17:56:32 -08:00
Jamey Sharp da4d56ef5a Provide xcb_prefetch_maximum_request_length counterpart to xcb_get_maximum_request_length. 2006-11-18 22:38:42 -08:00
Jamey Sharp aedfa1fe1d Fix Doxygen warnings.
Specifically, fixes these two warnings which were emitted for every
generated source file:

* Warning: end of file while inside a group
* Warning: group XCB_BigRequests_API already documented. Skipping documentation.
2006-11-18 22:35:53 -08:00
Jeremy Kolb jkolb@brandeis.edu 9d15516054 Added initial doxygen generation stuff. This should probably be cleaned up later.
Added support for major/minor-version attributes in the xcb tag.  This is just to give some reference and help people when using *query_version.
2006-10-29 19:31:09 -05:00
TORRI Vincent 8eba8690ad fix doxy doc 2006-10-20 07:00:15 +02:00
Jamey Sharp 094248405f Quit treating xproto specially: handle it like all the extensions. 2006-10-19 00:12:31 -07:00
Jamey Sharp 6bc0b37303 Ignore generated xinerama files. 2006-10-19 00:12:31 -07:00
Zephaniah E. Hull 5ec55dc9c0 Define and use constants for opcode numbers.
Hard coding the opcode numbers in the function just makes it harder to figure
out what's going on, but much more to the point, not defining the opcodes in
the header makes it impossible to use the generated headers instead of the
x11proto headers in the server.

The name I settled on is very simple, for an extension by the name of xconf,
and a request by the name of list_devices, we get XCB_XCONF_LIST_DEVICES.  If
this somehow causes problems, we can probably add a _OP somewhere in there,
but.

Acked-by: Jamey Sharp <jamey@minilop.net>
Closes: #8641
2006-10-14 19:52:23 -07:00
Jeremy Kolb c1504691ec Add library support for xcb-xinerama.
This is version 1.1 of the Xinerama (PanoramiX) extension.
2006-10-12 23:52:59 -04:00
Josh Triplett 7f74dd6b64 Add note to xcbxlib.h that nothing except Xlib/XCB should use it. 2006-10-08 18:16:14 -07:00
Jamey Sharp 431f210bbb Release libxcb 1.0 RC2 (0.9.92). 2006-10-07 19:50:55 -07:00
Jamey Sharp e0fac22caa Bugfix: make Plan 7 'checked' requests work correctly.
The initial implementation of Plan 7 dumped all X errors into the event
queue, because the record of a pending reply was pruned too early if an
error occurred in place of the expected reply.
2006-10-07 18:35:53 -07:00
Ian Osgood 7b84d8b650 Document xcb_generate_id. 2006-10-07 14:09:29 -07:00
Josh Triplett 9e10819a67 Move xcb_generate_id from xcbext.h to xcb.h
Since extensions no longer provide type-specific XID-generation functions,
xcb_generate_id now forms part of the xcb client API, rather than the
extension API; move it from xcbext.h to xcb.h accordingly.
2006-10-07 13:16:52 -07:00
Josh Triplett b9e49b2a47 Stop implicitly importing xproto; goes with proto change to explicitly import it 2006-10-07 01:27:36 -07:00
Jamey Sharp dd5ece6065 Declare "struct foo" or "enum foo" as well as the typedef'd name "foo". 2006-10-07 01:27:03 -07:00
Josh Triplett 16ec51397e Handle "xidunion" instead of "union" for XID unions like DRAWABLE and FONTABLE 2006-10-07 00:15:24 -07:00
Josh Triplett c73ff37b90 Refer to the "xlib lock" rather than the "IOLock" in xcbxlib.h 2006-10-06 20:14:48 -07:00
Josh Triplett 90eeb461be Remove XID wrapper structures and replace them with uint32_t typedefs
After positive feedback from several people, we have decided to remove the XID
wrapper structures that attempted to provide C type safety, and replace them
with uint32_t typedefs.  Feedback has indicated that these type-safety hacks
generated more trouble than help.

We will bump the libxcb soname at the next release.
2006-10-06 17:44:53 -07:00
Jamey Sharp 9bd2c0c58f Remove xcb_get_io_lock from the Xlib-specific API: it is no longer used. 2006-10-06 16:47:50 -07:00
Jamey Sharp 34168ab549 Remove the 'int *error' out-parameter for xcb_poll_for_event. 2006-10-06 16:35:36 -07:00
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 f7cd80142f Stop installing the protocol descriptions for extensions to an extensions/
subdirectory
2006-09-25 05:10:37 -07:00
Josh Triplett 9100981d35 Split the Xlib compatibility functions into a separate library libxcb-xlib
We don't want to have to change the libxcb soname if we later manage to remove
the Xlib compatibility functions, and nothing except Xlib should ever use
them, so split them into a separate library.
2006-09-25 02:57:19 -07:00
Jamey Sharp 46b7dbdd93 We no longer need xproto: do not list it as a dependency. 2006-09-25 02:00:23 -07:00
Jamey Sharp cf80bab8e6 Lowercase library names to correspond with the new API. 2006-09-25 01:42:12 -07:00
Josh Triplett 16516a5e94 Remove the xcb_[extension]_init functions; use xcb_get_extension_data directly 2006-09-23 14:44:15 -07:00
Josh Triplett 9691890529 More fixups for incorrect API conversions by api_conv.pl 2006-09-23 14:17:52 -07:00
Josh Triplett 86a4c0cc28 We do not conflict with Xmd.h anymore; remove the include hack from xcb_auth.c 2006-09-23 13:33:43 -07:00
Josh Triplett 4ff12a1a94 Fix some mis-conversions by api_conv.pl, and remove the now-unused Xmd types 2006-09-23 13:31:13 -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 91568d7070 Make xcb_conn.c agree that XCBSetupReq is now XCBSetupRequest. 2006-09-22 15:37:49 -07:00
Alan Coopersmith 2538acd8c8 List xproto.xml path explicitly instead of relying on GNU Make $< expansion
(Some non-gnu makes, such as Solaris make, only recognize $< in implicit
 suffix rules, not explicit ones like this.)
2006-09-22 15:11:39 -07:00
Jamey Sharp 2c8b5994b3 Shut down the connection in all "fatal" error cases. 2006-09-21 15:35:01 -07:00
Jamey Sharp 79e3227022 Add a private connection shutdown method for error cases. 2006-09-21 15:31:14 -07:00