aboutsummaryrefslogtreecommitdiffstats
path: root/epan/column-utils.h
AgeCommit message (Collapse)AuthorFilesLines
2009-02-15Fixed a typo.Stig Bjørlykke1-1/+1
svn path=/trunk/; revision=27452
2008-06-14Update all time columns when changing the time precision.Stig Bjørlykke1-1/+2
Not implemented for conversation relative and delta time yet, because this will need a reload as they are set by the dissectors and does not exist in the frame data. svn path=/trunk/; revision=25452
2008-03-01Custom column updates:Stephen Fisher1-1/+1
- Change apply / prepare / ... as filter to use the field's value, which is now stored in fdata as well as cinfo. Now we don't have to reprocess the entire packet list when using these features. This also prevents the use of these features from overwriting custom column information. (custom columns can now be used in apply / prepare ... as filter) - Break col_expr and col_expr_val out into a struct that is included not only in cinfo, but now also fdata. - Have col_custom_set_fstr() quote FT_STRING & FT_STRINGZ when storing the col_expr_val value (for filter creation). svn path=/trunk/; revision=24511
2008-02-13Check in changes originally checked in as SVN revision 24308 (new columnStephen Fisher1-0/+11
type: Custom) that were backed out in SVN revision 24309. Changes since that revision include a reworking of the handling of the cfile/cinfo variables in epan/column-utils.c, addition of three new functions to libwireshark.def and a bug fix to prevent a crash when no custom columns were not in use. Compilation verified locally on MacOS X, Linux and Windows. svn path=/trunk/; revision=24317
2008-02-12Revert commit 24308 until I can get it to compile on Windows/Linux/SolarisStephen Fisher1-10/+0
(strangely, it compiled fine on my MacOS X machine). svn path=/trunk/; revision=24309
2008-02-12Introduce a new column type called custom, which lets you put any displayStephen Fisher1-0/+10
filter name in the description field and it will display that field in the packet list if it occurs in that packet. Note that the more common fields are implemented, but a number of them remain to be implemented in epan/proto.c. I will work on these other fields as I have time. svn path=/trunk/; revision=24308
2007-10-03This patch adds two new column types:Sake Blok1-0/+14
- COL_REL_CONV_TIME which is used to display the time relative to the first frame that was seen in the conversation - COL_DELTA_CONV_TIME which is used to display the delta time from the previous frame of the conversation It also adds the function "col_set_time()" to "epan/column-utils.[ch]" which can be called from within a dissector to set either of these two columns to the appropiate time. Last but not least, it lets the tcp-dissector make use of these two columns. svn path=/trunk/; revision=23058
2007-01-18PutGuy Harris1-0/+7
#ifdef __cplusplus extern "C" { #endif /* __cplusplus */ ... #ifdef __cplusplus } #endif /* __cplusplus */ wrappers into some header files, for the benefit of C++ plugins. Also, add multiple-include protections. svn path=/trunk/; revision=20485
2006-05-21name changeRonnie Sahlberg1-2/+2
svn path=/trunk/; revision=18197
2005-10-04in svn 15335 the tcp analysis was changed to do its stuff and to populate ↵Ronnie Sahlberg1-0/+11
(prepend to) COL_INFO before callking the subdissectors instead of calling the tcp analysis (and prepend colingo) eitehr after the subdissector returned normally or if an exception caused by a subdissector was rised. this as a sideffect caused tcp analysis data to be overwritten if the subdissector caused any output to the info column. (and made tcp analysis suboptimal) this change adds a new function col_prepend_fence_fstr() that will prepend the info column with the string and also, if there was no fence already defined, create a fence and set it after the prepended col info text. This way, even if the subdissectors generate and rewrite col info, the tcp analysis data will still be displayed on the info column. svn path=/trunk/; revision=16116
2005-10-02add doxygen comments to column-utils.h and do a slight code cleanupUlf Lamping1-25/+155
svn path=/trunk/; revision=16066
2005-09-13Move the definition of GNUC_FORMAT_CHECK() to its own header, use it inGuy Harris1-12/+5
column-utils.h, and add it to expert.h, so we check the arguments to "expert_add_info_format()", at least if the format argument is a constant string. Fix some more calls to "expert_add_info_format()" to pass it a format string. Don't record BoundsError exceptions as expert events - they merely reflect a capture done with a snapshot length too short to capture all of the packet (any case where it's caused by something else is a bug). svn path=/trunk/; revision=15776
2004-12-30Make the "col_data" field in a "column_info" structure a pointer to anGuy Harris1-1/+1
array of "const char *" rather than to an array of "char *", and make the second argument of "col_set_str()" a "const char *" - there's no guarantee that "col_data" points to something you're allowed to modify. svn path=/trunk/; revision=12878
2004-07-18Set the svn:eol-style property on all text files to "native", so thatGuy Harris1-1/+1
they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. svn path=/trunk/; revision=11400
2004-02-05Add new col_append methods which will prepend the (format) string with theOlivier Biot1-1/+8
provided separator (or a default ", ") if the column is not empty. svn path=/trunk/; revision=9986
2003-04-16Pull the stuff done in "dissect_packet()" to initialize a column_infoGuy Harris1-2/+5
structure into its own routine; rename "col_init()" to "col_setup()", and call the new routine "col_init()". svn path=/trunk/; revision=7467
2003-04-16Add the notion of a "fence" to columns. A dissector can set the fenceGuy Harris1-1/+2
to "protect" what's currently in the column, so that attempts to clear the column will only clear stuff after the fence and attempts to overwrite the column will append stuff after the fence. This, for example, allows a dissector to arrange that the Info column contain information for its protocol and for protocols running atop it. svn path=/trunk/; revision=7466
2002-12-02Make the format argument to the "col_XXX_fstr()" routines, and the "str"Guy Harris1-8/+8
argument to "col_append_str()", const pointers; they're not modified by the routines in question. svn path=/trunk/; revision=6725
2002-11-11Instead of tweaking a "Protocol configuration options" extension headerGuy Harris1-1/+2
item to look more-or-less like a PPP packet, just dissect it in place and hand off to the appropriate subdissector using the PPP dissector's handoff table (which we export, along with its value_string table for protocol IDs, which we use to report the protocol ID symbolically). This means there's no point in having a configurable option to control whether to do that tweaking; make it an obsolete option. Bring "col_get_writable()" back from the dead, and have the GTP dissector save the current "writable" flag for columns, mark the columns non-writable before calling the subdissector for the PPP configuration protocol, and restore the state of the writable flag, rather than putting the columns back after the PPP configuration protocol's dissector is done. Fix some more typos in comments. Don't register the IP dissector in the "ppp.protocol" table in the GTP dissector's handoff registration routine - it's already being done in the IP dissector's handoff routine. Fix the name for CHAP to match what RFC 1994 calls it (if the name changed, it should be changed in all places, but, at least according to this message, a while ago, from Bob Sutterfield, "since the RFC defines the protocol, the RFC defines the name": http://mail-index.netbsd.org/netbsd-help/1996/05/16/0011.html and the RFC defines the name as "PPP Challenge Handshake Authentication Protocol (CHAP)"). svn path=/trunk/; revision=6617
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-4/+4
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6116
2002-01-29Support for capturing on, and reading captures from, OpenBSD firewallGuy Harris1-1/+4
logging virtual interface, from Mike Frantzen. svn path=/trunk/; revision=4616
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-17/+13
structure to the "packet_info" structure; only stuff that's permanently stored with each frame should be in the "frame_data" structure, and the "column_info" structure is not guaranteed to hold the column values for that frame at all times - it was only in the "frame_data" structure so that it could be passed to dissectors, and, as all dissectors are now passed a pointer to a "packet_info" structure, it could just as well be put in the "packet_info" structure. That saves memory, by shrinking the "frame_data" structure (there's one of those per frame), and also lets us clean up the code a bit. svn path=/trunk/; revision=4370
2001-11-21Remove the global packet_info called "pi". Dissectors now onlyGilbert Ramirez1-2/+3
access their own "pinfo". A packet_info is stored in epan_dissect_t, which is created for the dissection of a single packet. GUI functions which need to access the packet_info of the currently selected packet used to use "pi"; now they use cfile.edt->pi. cfile's "edt" member is the epan_dissect_t of the currently-selected packet. The functionality of blank_packetinfo() was moved into dissect_packet(), as that's the only place that called blank_packetinfo(), after a spurious call to blank_packetinfo() was removed from packet_list_select_cb(). svn path=/trunk/; revision=4246
2001-10-31Put "extern" in front of a pile of function declarations.Guy Harris1-17/+15
It makes no difference if they really are function declarations; however, in plugins, when building on OSes that don't let dynamically-loaded modules access functions in the main program (e.g., Windows), when compiling a plugin, <plugin_api.h> defines the names of those functions as (*pointer_name), so they turn into declarations of pointer variables pointing to the functions in question, and, on platforms with a def/ref model in the linker, if a plugin has more than one source file that gets linked into the plugin, the linker may get upset at two definitions of the same variable. svn path=/trunk/; revision=4114
2001-07-22Do __attribute__ stuff if the GCC version number is greater than orGuy Harris1-2/+2
equal to 2, not just if it's equal to 2 - GCC 3.0 makes it 3, not 2.... svn path=/trunk/; revision=3765
2001-04-01Moved the the remaining column related routines out of packet.{c,h}Ed Warnicke1-0/+65
and into column-utils{c,h}. svn path=/trunk/; revision=3231