aboutsummaryrefslogtreecommitdiffstats
path: root/tools/process-x11-xcb.pl
AgeCommit message (Collapse)AuthorFilesLines
2015-11-29Support building the X11 dissector outside the source tree.Jeff Morriss1-35/+42
Use relative path names for the script names and mesa/xcbproto directories so different paths (from different users) don't cause deltas. Also, with help from Peter Wu and Graham, get generation of the X11 dissector working from cmake. Change-Id: I95cd2a0f973dcbc67f457ff94c28e46a666afb74 Reviewed-on: https://code.wireshark.org/review/12213 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-10-21x11 generator: Fix indent (use always 4 spaces) and add modelinesAlexis La Goutte1-561/+574
Change-Id: I91739bb6f4acc4da060cf389ec288ee910965b2a Reviewed-on: https://code.wireshark.org/review/11113 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-20X11 generator: avoid extraneous parens in conditionals.Jeff Morriss1-3/+16
This is to avoid complaints from clang of the form: wireshark/epan/dissectors/x11-extension-implementation.h:17021:18: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if ((f_class_id == 0)) { ~~~~~~~~~~~^~~~ Change-Id: I91d629ad47677b71909d7da517c4a6198c276186 Reviewed-on: https://code.wireshark.org/review/11186 Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-10-19x11 generator: Support new XCB paramrefPeter Harris1-5/+39
Change-Id: I8ae38785bd0f2f81fa2164b5bc29274bd7e940f5 Reviewed-on: https://code.wireshark.org/review/11105 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-10-19x11 generator: Don't crash when a switch is in a structPeter Harris1-1/+4
The size calculation for the struct will be wrong (too small) which looks strange in the GUI when the children elements extend past the region marked by their parent. But it doesn't seem to cause any actual problems, there is only one request affected by this, and correct size calculation (by recursing the switch) would take a fair amount of work. Change-Id: I1847f736153daf59b8dbf3299005a772ffe9673a Reviewed-on: https://code.wireshark.org/review/11107 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-10-19x11 generator: Fix struct size with arrayPeter Harris1-1/+0
my $count here shadows my $count in the outer scope, preventing the size of constant sized arrays from being calculated correctly. Change-Id: I89c989ee2d288d4828871ebab650807fbde747dd Reviewed-on: https://code.wireshark.org/review/11106 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-10-19x11 generator: Allow perl 5.20 and newerPeter Harris1-1/+0
Despite promises from the Perl maintainers to remove or at least drastically change given/when and smartmatch, that still hasn't happened as of 5.22. We can cross that bridge when we come to it. Until then, assume they're never going to break given/when. Change-Id: If9270bd6fd819d24c58f31f2dfe0d88e831b19fe Reviewed-on: https://code.wireshark.org/review/11104 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-10-19x11 generator: some blacklisted structs are now used.Jeff Morriss1-9/+9
Also, die more gracefully than: Can't use string ("1") as a HASH ref while "strict refs" in use at ../../tools/process-x11-xcb.pl line 675. at ../../tools/process-x11-xcb.pl line 1859 at ../../tools/process-x11-xcb.pl line 1859 when blacklisted (previously unused) structures start being used in the xcbproto source. (It's still not possible to regenerate the X11 dissector but this is a step...) Change-Id: I1dec16a7a479d5f453c5f54e561aa8238eb21280 Reviewed-on: https://code.wireshark.org/review/10972 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2015-05-01Fix some cases where we're shifting a signed 1 left.Guy Harris1-1/+1
Shift 1U instead, to make sure it's unsigned; the result of, for example, the result of shifting a signed value left is undefined if the value times 2^{shift count} doesn't fit in the *signed* type of the shifted value. That means, in particular, that the result of shifting 1 left by {number of bits in an int - 1} is undefined. (In *practice*, it'll probably be -2^32, with the bit you want set, but that's not guaranteed, and GCC 5.1 seems not to like it.) This fixes the *other* generator for the X11 header files; we manually fix the file in question, because life's too short to spend very much of it trying to debug Perl issues that cause a Can't use string ("1") as a HASH ref while "strict refs" in use at ../../tools/process-x11-xcb.pl line 675. at ../../tools/process-x11-xcb.pl line 1859 at ../../tools/process-x11-xcb.pl line 1859 failure. Change-Id: I3dd46025b2ae461e63034b36ab11cdbc9380b696 Reviewed-on: https://code.wireshark.org/review/8263 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-05-01Fix some cases where we're shifting a signed 1 left.Guy Harris1-1/+1
Shift 1U instead, to make sure it's unsigned; the result of, for example, the result of shifting a signed value left is undefined if the value times 2^{shift count} doesn't fit in the *signed* type of the shifted value. That means, in particular, that the result of shifting 1 left by {number of bits in an int - 1} is undefined. (In *practice*, it'll probably be -2^32, with the bit you want set, but that's not guaranteed, and GCC 5.1 seems not to like it.) This fixes the generator for the X11 header files; we manually fix the header file in question, because life's too short to spend very much of it trying to debug Perl issues that cause a Can't use string ("1") as a HASH ref while "strict refs" in use at ../../tools/process-x11-xcb.pl line 675. at ../../tools/process-x11-xcb.pl line 1859 at ../../tools/process-x11-xcb.pl line 1859 failure. Change-Id: Ia903e9dacad49021bc0dfe129b9393ad426de9eb Reviewed-on: https://code.wireshark.org/review/8261 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-19Add parenthesis around some generated code so it compiles. This newStephen Fisher1-1/+1
code only shows up when the X11 dissector is updated from the latest xcbproto & mesa, which I will commit real soon now (RSN). Change-Id: Ic750df3b4406f107fd850ade891ee093054c8d6d Reviewed-on: https://code.wireshark.org/review/5882 Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-19Skip over the new 'switch' field in xproto/src/xinput.xml so we canStephen Fisher1-0/+1
re-generate the x11 dissector again without the script breaking. Change-Id: I6d24cf098f370f4c1ff191052e2ea67b7875b33a Reviewed-on: https://code.wireshark.org/review/5878 Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-19Put a colon after the error message and before the field the errorStephen Fisher1-1/+1
is referring to for clarity. Change-Id: I7930e851647c847335b91435c7b0871c6db2defe Reviewed-on: https://code.wireshark.org/review/5847 Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-12-19Add a comment to each of these scripts to say thatStephen Fisher1-0/+2
epan/dissectors/README.X11 has instructions for running them. Change-Id: Id3c1df1bf1f50b19372b9a0470822da9ca6504f7 Reviewed-on: https://code.wireshark.org/review/5846 Reviewed-by: Stephen Fisher <sfisher@sdf.org>
2014-08-22X11: Support xcb's new <case>Peter Harris1-15/+22
Change-Id: I32c6ab15d6dc7a67cdb50c4187e2752730315588 Reviewed-on: https://code.wireshark.org/review/3751 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-06-12X11: Support XCB's new <pad align='n' />Peter Harris1-7/+34
Change-Id: I0a45380ffcfb3be7e3190d0875626ed0fe046c4e Signed-off-by: Peter Harris <pharris@opentext.com> Reviewed-on: https://code.wireshark.org/review/2147 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-02-25Get rid of a few more Subversion remnants.Jeff Morriss1-2/+0
Change-Id: I35ff651017e355f92b4f9e6388e90d446f245d0a Reviewed-on: https://code.wireshark.org/review/361 Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-14Remove $Id$ and other Subversion leftovers from the tools.Jeff Morriss1-2/+0
There are a few things in here which could still use attention. Don't regenerate anything now. Change-Id: I283c224d3523212144707fca3d6265916cb11792 Reviewed-on: https://code.wireshark.org/review/205 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2013-12-19Some patches from Peter Harris:Jeff Morriss1-19/+105
[PATCH 1/5] X11 dissector: Sort declarations This prevents pointless changes showing up in the diff when evaluating unrelated changes to the generator. See http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization [PATCH 2/5] X11 dissector: Silence warnings on perl 5.18, prevent 5.20 Perl 5.18 retroactively marked "given/when" experimental, with a promise to remove or dramatically change it in 5.20. Since there is no perl 5.20 yet, there is no way to make this script compatible with it. [PATCH 3/5] X11 dissector: Support variable_param (at least for glCallLists) (This patch makes the change in r54232 unnecessary by using the previously- unused variable.) [PATCH 4/5] X11 dissector: Remove obsolete TODO item This item was done in r53531 PATCH 09/11 svn path=/trunk/; revision=54242
2013-12-18Instead of assigning a variable to itself, avoid unused warnings similarGerald Combs1-1/+1
to the Q_UNUSED macro. svn path=/trunk/; revision=54232
2013-11-24Fix checkAPIs: don't try to feed VALS() into FT_BOOLEANs.Jeff Morriss1-3/+4
Also, as per Peter Harris' request, update copyright date. svn path=/trunk/; revision=53545
2013-11-24Some patches from Peter Harris to make it possible to build the X11 dissectorJeff Morriss1-132/+371
again (and some various other improvements): Rebuild the dissector with the latest xcbproto and mesa. Subject: [PATCH 01/11] X11 dissector: Support CARD64 and INT64 types These types are used by the new Present extension. Subject: [PATCH 02/11] X11 dissector: Un-blacklist a few structures The xinput structs are used by the latest xcb/proto, and the xkb struct has been removed. Subject: [PATCH 03/11] X11 dissector: Add hack for xinput:ChangeProperty xinput:ChangeProperty should use switch/case, but only switch/bitcase is supported at the moment. Add (hopefully temporary) hack. Subject: [PATCH 04/11] X11 dissector: Use namespace for types In particular, the name of the xsync struct 'INT64' collides with a basic type of the same name. Subject: [PATCH 05/11] X11 dissector: Add support for "Generic" events All new extensions are using the new "Generic" events instead of traditional events, because there aren't enough traditional event numbers. Denoted by <event xge="true"> in xcb/proto. Subject: [PATCH 06/11] X11 dissector: Blacklist unused structures Subject: [PATCH 07/11] X11 dissector: Support multiple enumref in a bitcase XKB is weird. Subject: [PATCH 08/11] X11 dissector: Support sumof Subject: [PATCH 09/11] X11 dissector: Stop generating unused-but-set variables (This patch also reverts r53298/r53299.) svn path=/trunk/; revision=53531
2013-11-13Wrap GCC pragma in an #ifdef to make it compile when we're not using GCC.Jeff Morriss1-1/+3
Again, change manually applied to the .h file. svn path=/trunk/; revision=53299
2013-11-13Use a gcc pragma to stop the (pages of) warnings coming out ofJeff Morriss1-2/+3
x11-extensions-implementation.h . This change was manually applied to the .h file as I can't currently rebuild the X11 dissector. svn path=/trunk/; revision=53298
2013-09-08Add filterable expert info to generated X11 dissector. I didn't regenerate ↵Michael Mann1-1/+1
the dissector files, but did manually update the source (tools/process-x11-xcb.pl) so any future regeneration won't lose the changes. svn path=/trunk/; revision=51834
2012-06-28Update FSF address - part II.Jakub Zawadzki1-1/+1
svn path=/trunk/; revision=43538
2012-05-12A routine that processes a struct_XXX() won't necessarily use itsGuy Harris1-1/+1
encoding argument; mark it as (potentially) unused. svn path=/trunk/; revision=42609
2012-05-12Get rid of remaining Booleans-as-encoding-arguments inGuy Harris1-51/+54
proto_tree_add_item() calls. Updated tools/process-x11-xcb.pl to support different encoding values for different fields. Replaced the "little_endian" Boolean value with a "byte_order" value containing the setting of the byte-order ENC_ bit. Regenerated X11 fields from current x.org git. svn path=/trunk/; revision=42601
2012-03-13From Peter Harris:Jeff Morriss1-10/+32
An enum name collision was recently added to the upstream XCB/proto. Avoid the collision by putting enum names into their proper namespace. After applying that, regenerate the X11 dissector. svn path=/trunk/; revision=41514
2010-09-24(Refining the regexp...) Replace blurbs that match the name (case ↵Jeff Morriss1-1/+1
insensitive) with NULL. svn path=/trunk/; revision=34230
2010-06-03From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4820 :Jeff Morriss1-7/+6
Mesa moved its API description file again. Also, while I'm here, I noticed that they stopped using signed tags, so add --tags to "git describe" for a better description of the mesa version used to build the X11 dissector. svn path=/trunk/; revision=33067
2010-04-20From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4481 :Jeff Morriss1-116/+227
The XKEYBOARD extension is a pain in the... so XCB had to grow new ways to describe the protocol. This patch adds support to the Wireshark dissector, so it can successfully process the XCB description of the XKEYBOARD extension. Without this patch, "make x11-dissector" chokes on the current xcbproto from git. Also update the script to deal with the new mesa directory structure. svn path=/trunk/; revision=32520
2009-10-03From Peter Harris via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4067 :Jeff Morriss1-6/+134
This patch adds enum support to x11-process-xcb.pl svn path=/trunk/; revision=30257
2009-09-12Move all of the scripts in epan/dissectors/ to tools/ .Jeff Morriss1-0/+1241
Add a target ("x11-dissector") to build the X11 dissector. Put the X11-related files (back) in the source distribution. svn path=/trunk/; revision=29871