aboutsummaryrefslogtreecommitdiffstats
path: root/capture.h
AgeCommit message (Collapse)AuthorFilesLines
2005-05-26use the log features of the GLib to have verbose output of the capturing ↵Ulf Lamping1-0/+6
engine, e.g. GLib provides different domains for different submodules. Output more verbose than warning level will be disabled by default (just like before). use the console_log_handler in main.c for win32 AND unix now Currently use the log for the capturing engine (only), as I desperately needed a log output for debugging. svn path=/trunk/; revision=14438
2005-04-27add a state member to the capture_opts, and set it according to the capture ↵Ulf Lamping1-0/+10
engine svn path=/trunk/; revision=14205
2005-04-16rename capture_clear() to capture_restart()Ulf Lamping1-2/+2
statusbar update should work now even in capture error case svn path=/trunk/; revision=14105
2005-04-12capture engine: Ulf Lamping1-2/+6
add a new feature to clear the currently captured packets and restart the capture with the previous parameters various code cleanup and minor bugfixes Win32: use millisecond resolution in capture_loop, to smooth screen update a bit (500ms instead of 1000ms) svn path=/trunk/; revision=14059
2005-04-10Win32 only bugfix: as using TerminateProcess is the brute force way and ↵Ulf Lamping1-0/+3
sometimes clipped packets in the middle, now using a pipe called signal_pipe from the parent to the child for this. On unix we're using kill() for this, which simply signals the child, but this isn't available on win32. svn path=/trunk/; revision=14040
2005-03-28various (minor) capture code cleanupUlf Lamping1-17/+9
svn path=/trunk/; revision=13957
2005-03-28fix Solaris build (I've removed O_BINARY)Ulf Lamping1-2/+1
rename sync_mode to real_time_mode, as we using sync_mode all the time now, so the name is misleading svn path=/trunk/; revision=13956
2005-03-28remove capture_child flag from capture_opts as it's no longer requiredUlf Lamping1-5/+9
svn path=/trunk/; revision=13954
2005-03-28a lot more capture engine code cleanupUlf Lamping1-4/+12
most notably: - moved opening of safe_file to the capture child (capture_loop.c) - removed save_file_fd from capture_opts (no longer need to have it global) svn path=/trunk/; revision=13953
2005-03-07- pcap.h needs to be included before capture.hJörg Mayer1-4/+2
- As capture.h is empty without libpcap defined, only include it in that case and don't protect the file internally against libpcap any more. svn path=/trunk/; revision=13648
2005-02-28Another step towards using the parent/child mode for ALL captures.Ulf Lamping1-0/+6
This is currently still disabled, as we cannot pass all required capture flags to the child process (lack of command line parameters). svn path=/trunk/; revision=13558
2005-02-27some clarification of the capture child thingUlf Lamping1-1/+1
svn path=/trunk/; revision=13535
2005-02-27minor comment additionsUlf Lamping1-2/+4
svn path=/trunk/; revision=13533
2005-02-23CHILD_NAME is only used #ifdef HAVE_LIBPCAPUlf Lamping1-2/+2
svn path=/trunk/; revision=13481
2005-02-23use the applications name (currently "ethereal" or "tethereal") in ↵Ulf Lamping1-1/+1
capture_opts, instead of hardcoded "ethereal" for both. svn path=/trunk/; revision=13476
2005-02-06Clean up indentation.Guy Harris1-24/+24
svn path=/trunk/; revision=13323
2005-02-06another two steps towards privilege seperation:Ulf Lamping1-3/+8
move another two capture related fields (iface and cfilter) from cfile to capture_opts also move the handling of capture related command line options from main.c to capture.c, that way a future privilege seperated capture program can use the same code to parse it's command line than Ethereal. It might be even possible to share this parser code even with Tethereal, didn't took a closer look at this. svn path=/trunk/; revision=13320
2005-02-06instead of initializing the capture_options in main.c, use the new function ↵Ulf Lamping1-0/+4
capture_opts_init svn path=/trunk/; revision=13315
2005-02-05rename kill_capture_child to capture_kill_child to have a common prefixUlf Lamping1-1/+1
split drag and drop support out of main.c into new file drag_and_drop.c, to reduce the size of main.c a bit. Hopefully this won't break unix builds because of missing #include's, I will keep an eye on the buildbot svn path=/trunk/; revision=13308
2005-02-05updated some commentsUlf Lamping1-4/+8
svn path=/trunk/; revision=13301
2005-02-04(some) redesign of capture data structures.Ulf Lamping1-2/+7
don't use global cfile at all but only an untpyed handle to call the cf_... functions in file.c move the save_file member from capture_file to capture_opts, as it's only used while capturing and while preparing it svn path=/trunk/; revision=13276
2005-02-03move capture_file_fd field from capture_file to capture_opts type, as this ↵Ulf Lamping1-0/+1
is the place where it should be svn path=/trunk/; revision=13268
2004-12-29move global capture_child flag into capture_optionsUlf Lamping1-3/+1
svn path=/trunk/; revision=12855
2004-12-29Don't use a global capture_opts in the capturing engine (this isn't a good ↵Ulf Lamping1-11/+8
idea). Do some more "housekeeping" in the capturing part. Hopefully the unspecified forward declaration of capture_options_t in main.h is portable, but buildbot will tell me. This way I need the internals of that struct only at the places I really use it. svn path=/trunk/; revision=12853
2004-10-30split capture_loop from capture.c, some more code cleanupUlf Lamping1-10/+16
svn path=/trunk/; revision=12451
2004-10-30move quit_after_cap into capture_optsUlf Lamping1-4/+8
svn path=/trunk/; revision=12449
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-07-06Make sure child processes don't create a splash screen. Make the verbs inGerald Combs1-3/+3
the splash screen messages present participles. svn path=/trunk/; revision=11321
2004-06-20added an option to "avoid" the capture info dialog completely.Ulf Lamping1-1/+2
This matters for "update of list in real time" (sync_mode) only, as in normal mode you wouldn't otherwise have the possibility to stop the capture. svn path=/trunk/; revision=11194
2004-06-04add more details for doxygenUlf Lamping1-37/+46
svn path=/trunk/; revision=11107
2004-04-13From Jon Oberheide: Add interface name to the capture and ethereal windowMichael Tüxen1-2/+3
while capturing. svn path=/trunk/; revision=10594
2004-03-13experimental: make usage of pcap_setbuff to increase the kernel buffer sizeUlf Lamping1-1/+4
svn path=/trunk/; revision=10377
2004-03-04fixed differences between capture GUI frontend and backendUlf Lamping1-13/+12
svn path=/trunk/; revision=10303
2004-03-02implemented capture dialog 3rd (+x) proposalUlf Lamping1-8/+16
svn path=/trunk/; revision=10279
2004-02-28Capturing: "Number of files" switches between normal and multiple mode,Ulf Lamping1-2/+2
"Use ring buffer" switches between multiple single run and real ring buffer svn path=/trunk/; revision=10257
2004-02-21quit_after_cap should be a gboolean, not an int, and it should be initializedUlf Lamping1-2/+2
svn path=/trunk/; revision=10169
2004-02-21rework of capture.c: better seperation of sync and capture pipe by usingUlf Lamping1-5/+1
explicit names and seperated functionality of do_capture(), but no functional change! svn path=/trunk/; revision=10168
2003-11-15seperated capture dialog from capture.c and put into new gtk/capture_info_dlg.cUlf Lamping1-1/+34
svn path=/trunk/; revision=8968
2003-11-01Based on a patch from Brian Fundakowski Feldman, add support for settingGuy Harris1-1/+3
link-layer type when capturing, using the "pcap_set_datalink()" and related APIs. svn path=/trunk/; revision=8848
2003-09-15Don't pop up tap windows specified with "-z" options until we have aGuy Harris1-5/+5
capture file open. svn path=/trunk/; revision=8480
2003-05-15Implement a ring buffer switch duration:Laurent Deniel1-1/+3
when the new "Rotate capture file every n second(s)" checkbox or the -b <# of file>[:<duration>] argument are used, [t]ethereal will skip to the next ring buffer file if the specified duration has elapsed (even if the specified capture size is not reached). This is useful when you want to have separate capture files per hour or day for instance. I let the autostop filesize parameter mandatory (i.e. the "rotate capture file after n kilobytes") but this could be no longer strictly necessary when that new feature is used ... Another point: it might be interesting to really truncate the file at the switch and not the closure ... According to user comments and my own real case tests, I might plan to enhance this point and others (still ring buffer related) in the future. svn path=/trunk/; revision=7678
2003-01-09From Albert Chin: "sync_pipe[]" isn't exported by "capture.c", so itGuy Harris1-2/+1
shouldn't be declared in "capture.h". svn path=/trunk/; revision=6886
2002-09-09From Graeme Hewson:Guy Harris1-2/+2
Currently Ethereal sets and uses a default directory for reading and writing, but only in some places. This set of patches extends the setting of the default directory to the -w option as well as the -r option, and causes all file dialogs to use and set the default consistently. (I haven't changed the Preferences/Printing/File dialog, though, as that's a special case.) There's also a fix for a bug where Ethereal was issuing the message "Ring buffer requested, but capture isn't being saved to a permanent file" even though a file was specified with -w. There also appear to be some other cleanups in his patch. svn path=/trunk/; revision=6238
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=6117
2002-02-24Put all the capture options into a structure.Guy Harris1-11/+22
Move the ringbuffer capture options from the "capture_file" structure to the structure for capture options, as they're a property of an in-progress capture, not a property of a particular capture file. svn path=/trunk/; revision=4799
2002-02-24"autostop_filesize" and "autostop_duration" don't need to be in theGuy Harris1-1/+8
"capture_file" structure - they're a property of an in-progress capture, not a property of an open capture file. Make them just variables. The maximum number of packets to be captured should be a variable separate from the "count" field in the "capture_file" structure - the latter is a count of the packets in the capture file in question. Have Boolean variables indicating whether a maximum packet count, maximum capture file size, and maximum capture duration were specified. If an option isn't set, and we're doing an "update list of packets in real time" capture, don't pass the option to the child process with a command-line argument. Don't create "stop when the capture file reaches this size" or "stop when the capture's run for this long" conditions if a maximum capture file size or a maximum capture duration, respectively, haven't been specified. Don't test or free a condition if it wasn't created. Don't allow a 0 argument to the "-c" flag - the absence of a "-c" flag is the way you specify "no limit on the number of packets". Initialize the check boxes and spin buttons for the "maximum packets to capture", "maximum capture size", and "maximum capture duration" options to the values they had in the last capture. If an option wasn't specified, don't read its value from the dialog box and set the variable. svn path=/trunk/; revision=4795
2002-02-08Have Wiretap set the snapshot length to 0 if it can't be derived fromGuy Harris1-1/+3
reading the capture file. Have callers of "wtap_snapshot_length()" treat a value of 0 as "unknown", and default to WTAP_MAX_PACKET_SIZE (so that, when writing a capture file in a format that *does* store the snapshot length, we can at least put *something* in the file). If we don't know the snapshot length of the current capture file, don't display a value in the summary window. Don't use "cfile.snap" as the snapshot length option when capturing - doing so causes Ethereal to default, when capturing, to the snapshot length of the last capture file that you read in, rather than to the snapshot length of the last capture you did (or the initial default of "no snapshot length"). Redo the "Capture Options" dialog box to group options into sections with frames around them, and add units to the snapshot length, maximum file size, and capture duration options, as per a suggestion by Ulf Lamping. Also add units to the capture count option. Make the snapshot length, capture count, maximum file size, and capture duration options into a combination of a check box and a spin button. If the check box is not checked, the limit in question is inactive (snapshot length of 65535, no max packet count, no max file size, no max capture duration); if it's checked, the spinbox specifies the limit. Default all of the check boxes to "not checked" and all of the spin boxes to small values. Use "gtk_toggle_button_get_active()" rather than directly fetching the state of a check box. svn path=/trunk/; revision=4709
2002-01-10Separate the promiscuous mode, "Update list of packets in real time",Guy Harris1-1/+3
and "Automatic scrolling in live capture" options from the preference settings for them, so that the preference settings affect the initial values of those options, but changing those values in a capture don't affect the preferences, and don't automatically get saved when you save the preferences. If we're building without libpcap, don't have an "Automatic scrolling in live capture" option anywhere. svn path=/trunk/; revision=4514
2002-01-08Add a routine to kill a capture child if it exists, so that if we exitGuy Harris1-1/+4
(by deleting the main window or selecting File->Quit or typing ^Q) while an "Update list of packets in real time" capture is in progress, we can abort the capture. Arrange that "fork_child" is -1 when there is no capture child, so said routine knows when it can kill the child. When we exit, kill off any capture child, using that routine, and, if we're exiting due to a request to delete the main window and, if a read is in progress (from an "Update list of packets in real time" capture), don't delete the main window - just set the "Read aborted" flag, so that the code doing the read will see that flag (it will be called because the pipe to the capture child is closed due to the child exiting) will see that and clean up and exit itself. svn path=/trunk/; revision=4498
2001-04-13Added the ethereal capture preferences to the preference file.Jeff Foster1-3/+1
svn path=/trunk/; revision=3298