Fix epan building with undefined HAVE_PLUGINS

+ guard prototypes with HAVE_PLUGINS in .h files to get errors before linking.

svn path=/trunk/; revision=53909
Get the "Decode As" dialog working, albeit with a few warts. It differs
from the GTK flavor in two major ways:

- The "Decode As" and "User Specified Decodes" dialog have been unified.
- You can modify the decode as behavior at any time, not just when you
  have a packet selected.

Revert part of 53498 so that we can move items marked

/*** THE FOLLOWING SHOULD NOT BE USED BY ANY DISSECTORS!!! ***/

from epan/decode_as.h to ui/decode_as_utils.h. 

Move "save" code from decode_as_dlg.c to decode_as_utils.c as well.

In packet-dcerpc.c don't register a table named "ethertype". We might
want to add checks for duplicate table names.

To do:
- Add support for ranges?
- Either add support for DCERPC or make DCERPC use a regular dissector
  table.
- Fix string selectors (i.e. BER).


svn path=/trunk/; revision=53910
- Forward declaration of register functions.

svn path=/trunk/; revision=53911
Fix compilation on Windows.

svn path=/trunk/; revision=53912
Remove config.h includes from proto.h and tap.h.

svn path=/trunk/; revision=53913
Reject the packet if data is NULL.

svn path=/trunk/; revision=53914
Add "Decode As" to the packet list and protocol tree context menus.
Automatically add a new item if "Decode As" is triggered from the
context menus.

svn path=/trunk/; revision=53915
Remove _U_ from dissect_usb_com_bulk()'s data parameter; it is used.

svn path=/trunk/; revision=53916
Fix prototypes.

svn path=/trunk/; revision=53917
- Forward declaration of register functions.

svn path=/trunk/; revision=53918
Add a missing semicolon.

svn path=/trunk/; revision=53919
QComboBox::setCurrentText() exits in Qt3 and Qt5 but not Qt4.

svn path=/trunk/; revision=53920
Trival: spaces -> tab.

svn path=/trunk/; revision=53921
Reject packets if data (and usb_trans_info) are NULL.  Also, new-syle dissectors return the number of bytes dissected, not TRUE/FALSE.

svn path=/trunk/; revision=53922
Where appropriate, reject the packet entirely or at least protect against data being NULL.

svn path=/trunk/; revision=53923
Reject the packet if data is NULL.

svn path=/trunk/; revision=53924
use the new SI string routines in DVB-CI

svn path=/trunk/; revision=53925
Trivial: The file name is prefs_capture.c, not capture_prefs.c

svn path=/trunk/; revision=53926
use large positve values for illegal DVB-SI string encodings

interpret encoding fields as UINT32 so that the displayed value matches
the actual bytes in the packet

svn path=/trunk/; revision=53927
From Deon van der Westhuysen via bug 9537:

----
The qt version of wireshark (stats_tree_dialog.cpp) by default expands
all nodes within a stats_tree (see for example the "Statistics" > "IP
Statistics" > "IP Destinations" stats_tree; you need this patch
installed before the item is added to the stats menu:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9528). This
behaviour is fine for small trees but becomes counter productive in
trees with many items or levels.

This patch changes the qt ui to act like the gtk ui: the first level of
nodes are expanded by default while deeper levels are collapsed.
----

From me: "Expand all" makes sense for a small number of items. Do so if
we have less than 100.

svn path=/trunk/; revision=53928