Commit Graph

86 Commits

Author SHA1 Message Date
Ulf Lamping 0861927ce3 huge cleanup of capture file API (functions in file.c/file.h).
This includes: all functions in file.h now have a cf_ prefix, will have doxygen tags, will have the capture_file *cf as the first parameter and I tried to generalize the return values for non trivial functions.

Hopefully, I didn't introduced any new bugs, as I had to change a lot of files...

svn path=/trunk/; revision=13289
2005-02-04 18:44:44 +00:00
Ulf Lamping 66ce7f3623 add some more online help functionality and help buttons at various dialog boxes, if a help page *is* available. However, the new help system needs a lot more work before completed.
svn path=/trunk/; revision=13152
2005-01-20 23:17:23 +00:00
Guy Harris 90c434d5ac Add casts of OBJECT_SET_DATA() arguments in cases where that's
appropriate.

Use %u, not %d, to convert unsigned values to strings.

svn path=/trunk/; revision=12921
2005-01-01 23:54:32 +00:00
Guy Harris 71217a8007 As we've made the tap_specific_data field of a tap_packet_t structure a
const pointer (so that we don't get complaints when we make the
tap-specific data argument to "tap_queue_packet()" a const pointer,
allowing dissectors to hand const data to a tap without a complaint), we
should make the tap per-packet function take a const pointer as an
argument as well.  Do so.

In some taps, use _U_, or actually use the argument, rather than
sticking in dummy "X = X" assignments to fake use of parameters.  (This
means that the tap functions in question no longer have the notion that
they act on a particular static structure wired in.)

svn path=/trunk/; revision=12910
2005-01-01 02:57:02 +00:00
Guy Harris 6e622fd24e "gtk_entry_get_text()" returns a "const char *" - assign the result to
one.

"get_basename()" doesn't modify its argument, and its callers don't
modify the substring pointed to by the result, so make it take a "const
char *" as an argument and return a "const char *". 

"find_last_pathname_separator()" doesn't modify its argument, so make it
a "const char *" - but some of its callers pass a non-"const" "char *"
and modify the result, so don't make its return value a "const char *".
And, as none of its callers are outside "filesystem.c", make it static.

In "about_folders_page_new()", have separate variables for pathnames
returned as "const char *" (which are cached by the routine that returns
them, so you can't modify them - and can't free them, so get rid of the
commented-out "g_free()" calls for them) and pathnames returned as "char
*" (which are allocated anew for each call, and can be modified, but
have to be freed).

Clean up white space.

svn path=/trunk/; revision=12881
2004-12-31 00:26:36 +00:00
Guy Harris f1deabed56 Make the tone of the error messages a bit less formal, by using
contractions.  (Safari does, at least when you're trying to open a file
to which you don't have read access.)

svn path=/trunk/; revision=12852
2004-12-29 01:08:20 +00:00
Guy Harris 6472876ab3 Move the tap infrastructure to the epan directory.
svn path=/trunk/; revision=12128
2004-09-29 00:06:36 +00:00
Guy Harris 85f34ad42c From Ian Schorr: don't check the validity of the field name for an
advanced-mode graph if the graph isn't active.

svn path=/trunk/; revision=11537
2004-07-27 06:29:22 +00:00
Ulf Lamping bfd6ace52e renamed filter_prefs to filter_dlg, as the filter settings are (well, for a long time) no longer part of the preferences dialog.
svn path=/trunk/; revision=11436
2004-07-19 21:42:01 +00:00
Guy Harris 8a8b883450 Set the svn:eol-style property on all text files to "native", so that
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-07-18 00:24:25 +00:00
Ulf Lamping cc68368037 use new functions in window API (ui_util.h),
use window_new instead of dlg_window_new for the statistics windows
(as these are no dialog windows)
do some code cleanup

svn path=/trunk/; revision=10979
2004-05-23 23:24:07 +00:00
Ulf Lamping d6eeb0936d going to have a standard behaviour of the dialogs
(including remebering of the dialog size in recent file).
for a first step, I replaced all window_new() calls from dialogs
into dlg_window_new() ones, and removed all gtk_window_set_position
calls, this should be done in a more generalized way

svn path=/trunk/; revision=10964
2004-05-22 19:56:19 +00:00
Guy Harris 5fe1168180 Report problems due to the user specifying something we can't handle as
errors, not warnings.

svn path=/trunk/; revision=10618
2004-04-17 01:01:22 +00:00
Ulf Lamping 7b62a629e8 replaced sprintf / snprintf by g_snprintf,
various other string related changes

svn path=/trunk/; revision=10373
2004-03-13 15:15:26 +00:00
Ronnie Sahlberg aaedc080ea update to iostat make it automagically make sure the field is part of the filter string
svn path=/trunk/; revision=10342
2004-03-08 07:47:14 +00:00
Ulf Lamping c9ea03f55a added dfilter string syntax check to various places
svn path=/trunk/; revision=10252
2004-02-27 19:07:20 +00:00
Ulf Lamping 9251b808b2 changed some labels
svn path=/trunk/; revision=10231
2004-02-25 00:16:28 +00:00
Ulf Lamping d288ae929e minor redesign of the dialog
svn path=/trunk/; revision=10230
2004-02-24 23:25:28 +00:00
Ulf Lamping d30d0edf20 added a "Close" button to the dialog
svn path=/trunk/; revision=10221
2004-02-24 17:53:40 +00:00
Ulf Lamping 25510cf209 changed title and menu registering to "IO Graphs"
and changed some of the labels to be more intuitive

svn path=/trunk/; revision=10207
2004-02-23 22:26:07 +00:00
Ulf Lamping 09f8a69e4c Changed all items to "Endpoint List" and get rid of the "Host List" group.
called "IO stats" now "Throughput Graph" as this might be somewhat more descriptive IMHO.
Same applies to the "TCP Stream Analysis" -> "TCP Stream Graphs"

svn path=/trunk/; revision=10203
2004-02-23 20:28:31 +00:00
Ulf Lamping ed6148660b statistics menu redesigned, now looking more like the former menu,
items now again grouped by function, not by ISO layer

svn path=/trunk/; revision=10202
2004-02-23 19:19:39 +00:00
Ulf Lamping cdebea69ce Redesigned the menu structure of the former statistics stuff,
now sorted by ISO-layer, than alphabetically (now longer by functionality).
Seperated the tap registering from the actual menu making stuff,
so the seperate step of registering the tap and the menu is no longer needed.
Removed all things related to this double registering.

svn path=/trunk/; revision=10180
2004-02-22 18:47:04 +00:00
Guy Harris 36ece5a17a Add a "window_new()" routine that creates a window of a given type, sets
the title, and arranges to set the icon for it.  Use that instead of
"gtk_window_new()" and separate calls to set the title and arrange to
set the icon.

Regularize #includes a bit.

Clean up white space.

svn path=/trunk/; revision=10054
2004-02-13 00:53:37 +00:00
Guy Harris 6b1a0bf430 Most taps that now include "tap_menu.h" no longer need to include
<stdio.h> to define FILE; get rid of the include.

svn path=/trunk/; revision=10034
2004-02-11 04:28:49 +00:00
Guy Harris 8e4a1c1cc6 Move the declaration of "register_tap_menu_item()" into a new
"tap_menu.h" file, and have the Ethereal taps include that rather than
"menu.h", so we don't have to worry about making sure we've included
<stdio.h> to define FILE, etc. just because some "menu.h" functions
require it.

svn path=/trunk/; revision=10031
2004-02-11 04:17:05 +00:00
Guy Harris c7fd1b2b13 Add a routine to be used to put up alert boxes for invalid display
filter expressions; use that in a number of places, so we use the same
alert box.  (More work is needed to figure out the right way to handle
some other "dfilter_compile()" failures.)

Use the error message from the display filter as the primary error, as
that's the message that tells you what the underlying problem is.  (The
GNOME HIG says "In most situations the user should only need the primary
text to make a quick decision", so the primary text should tell you
what's wrong with the filter, not just that it's invalid.  If there are
messages from the display filter code that don't give enough
information, or are a bit cryptic, such as "Unexpected end of filter
string," those should be fixed in the display filter code.)

Improve the error used if an empty filter is used for "find frame".

svn path=/trunk/; revision=10025
2004-02-11 00:55:28 +00:00
Guy Harris 1980fa5dbf Pass ESD_BTN_OK rather than NULL as a second argument to
"simple_dialog()"; NULL might be #defined to be a pointer expression on
some platforms, causing compiler warnings (and, on platforms where a
null pointer doesn't have all its bits 0, possibly causing misbehavior,
although I don't think there are any such platforms on which Ethereal
runs).

Don't allow 0 as button mask argument to "simple_dialog()".

Squelch a compiler warning.

Report fatal problems as errors, not warnings.

Report file I/O errors with "file_open_error_message()".

Report file write errors (including those reported by "close()", e.g.
some errors writing to an NFS server) when saving raw packet data to a
file.

svn path=/trunk/; revision=9915
2004-01-31 03:22:42 +00:00
Ulf Lamping e3dd2f5472 use stock buttons whereever possible,
added some ethereal specific stock icons

svn path=/trunk/; revision=9763
2004-01-21 03:54:32 +00:00
Guy Harris 4dd10c6687 Add a routine "retap_packet()" that runs through all packets, dissecting
them and running all taps on them, but not reconstructing the packet
list.  Use that in the IO-stat tap rather than "redissect_packet()"; the
latter does more work and redraws the display, neither of which are
necessary.

Call the filter callback when the Calc field is changed, to redraw the
graphs; that change also fixes things so that it's called when the
Filter field is changed.

Rename the "filter_button" member of an io_stat_graph_t to
"filter_field", as it's not the "Filter:" button, it's the text field
containing the filter expression.

svn path=/trunk/; revision=9659
2004-01-13 22:34:10 +00:00
Guy Harris 053ec89a5d "dfilter_compile()" supplies a null dfilter pointer for an empty filter
expression; don't assume it always supplies a non-null pointer.

svn path=/trunk/; revision=9657
2004-01-13 21:10:38 +00:00
Guy Harris 982a4976c7 Add a routine "io_stat_reset()" to reset an io_stat_t; have
"gtk_iostat_reset()" call it, and have calls to
"gtk_iostat_reset(&io->graphs[0])" just call "io_stat_reset(io)".

Add a routine "io_stat_draw()" to draw an io_stat_t; have
"gtk_iostat_draw()" call it, and have calls to
"gtk_iostat_draw(&io->graphs[0])" just call "io_stat_draw(io)".

Add a routine "io_stat_redraw()" to set the "needs_redraw" flag on an
io_stat_t and call "io_stat_draw()" on it, in order to force a redraw.
Use that in place of set flag/io_stat_draw pairs.

Add a routine "enable_graph()" to set an io_stat_graph_t's display flag
to TRUE and register a tap listener for it, and add a routine
"disable_graph()" to, if an io_stat_graph_t's display flag is set, clear
it, remove its tap listener, and turn its display button off.  Use
"disable_graph()" to disable graphs, rather than just turning the
display flag off, so that we ensure that the invariant "tap listener
present iff graph enabled" is preserved - the code to destroy an io-stat
window only removes tap listeners for enabled graphs, so it depends on
that invariant being preserved.

Check the validity of a display filter by compiling it, not by going
through the whole sequence of registering a tap listener.

svn path=/trunk/; revision=9656
2004-01-13 21:04:52 +00:00
Ulf Lamping ba3b94790d removed some MSVC warnings (level 3)
svn path=/trunk/; revision=9560
2004-01-05 18:11:28 +00:00
Richard Sharpe 5d7261eb78 Make Analyze/Statistics have an accelerator of Alt+A S and move
Analyze/Summary to Alt+A Y.

svn path=/trunk/; revision=9537
2004-01-03 18:05:57 +00:00
Ulf Lamping 467c05b3ea removed some MSVC warnings (conversions between double/float and int)
svn path=/trunk/; revision=9422
2003-12-23 00:16:46 +00:00
Guy Harris ac48df79f2 From Lars Roland: have common code to handle display filter dialogs in
taps, and use that in the H.225 taps.

svn path=/trunk/; revision=9327
2003-12-17 22:13:08 +00:00
Olivier Abad abb4aec1fe Use gtk compatibility macros (from compat_macros.h) instead of some gtk+
v1.2 functions which are deprecated in gtk+ v2.

Update OBJECT_SET_DATA macros to cast "data" to (gpointer).

svn path=/trunk/; revision=9296
2003-12-16 18:43:35 +00:00
Guy Harris fbcaaa19f2 From Ronnie Sahlberg: support iostat graphs with 1ms resolution.
svn path=/trunk/; revision=9283
2003-12-14 10:24:24 +00:00
Guy Harris bd9f96738c From Didier Gautheron: put an "fvalue_t" structure into a "field_info"
structure, rather than separately allocating "fvalue_t"s and having the
"field_info" structure point to them - this appears to speed up protocol
tree construction a bit.

svn path=/trunk/; revision=9146
2003-12-02 21:15:49 +00:00
Guy Harris 0a7b08c9e9 Don't draw a Y-axis label if you haven't constructed the label string.
svn path=/trunk/; revision=8792
2003-10-27 23:12:53 +00:00
Ronnie Sahlberg c1ffe5216e Update to cf_get_display_name()
return "<no file>" if there is no file loaded yet instead of crashing in io-stat

io-stat  only print the label for the top tick on the y axis to make it look less cluttered

svn path=/trunk/; revision=8781
2003-10-26 03:09:03 +00:00
Ronnie Sahlberg 532bd00bbb Client LOAD measurement for io-stat
See manpage (hopefully manpage does not reformat my nice ascii graph)

While Service Response Times   and the MIN/MAX/AVG thing in io-stat are measurements on the server load.   The new measurement type LOAD is a measurement of Client LOAD.

Or rather, it is an attempt to measure client LOAD by measuring how much concurrency in its requests the client generates. It the client is slow in starting new i/o when a previous i/o has completed,  this willb e indicated by the concurrency being lowered.

it is an experiment.  i am not aware of any other attempts in deducing client workload from looking at captures.

svn path=/trunk/; revision=8706
2003-10-15 13:10:54 +00:00
Ronnie Sahlberg 84c54268e0 Remove the unnecassary HashTable and use gtk_object_[get|set]_data
to keep track of which io structure a certain draw area is associated with.

svn path=/trunk/; revision=8704
2003-10-15 08:41:41 +00:00
Ronnie Sahlberg 3531b70362 remove an extra ';' to keep visual studio happy
svn path=/trunk/; revision=8703
2003-10-15 08:25:29 +00:00
Ronnie Sahlberg 8efb17b1b7 update to iostat,
added new plot style: filled bar

svn path=/trunk/; revision=8695
2003-10-14 10:34:58 +00:00
Ronnie Sahlberg d2097c1c88 remove the redundant count_type structure as part of the iostat cleanup
svn path=/trunk/; revision=8694
2003-10-14 10:01:00 +00:00
Ronnie Sahlberg e9df6cc9df further cleanup
remove redundant structure for yscale_max

svn path=/trunk/; revision=8693
2003-10-14 09:55:40 +00:00
Ronnie Sahlberg e7335134a0 further cleanup
remove the redundant pixels_per_tick structure

svn path=/trunk/; revision=8692
2003-10-14 09:27:42 +00:00
Ronnie Sahlberg be546393cc Simplify handling of tick val
remove unnessecary code and structures    cleanup

svn path=/trunk/; revision=8691
2003-10-14 09:15:51 +00:00
Ronnie Sahlberg 61e4447e89 update to iostat
add different styles to draw the plot

svn path=/trunk/; revision=8689
2003-10-14 09:03:03 +00:00