aboutsummaryrefslogtreecommitdiffstats
path: root/print.h
AgeCommit message (Collapse)AuthorFilesLines
2005-03-11from Stefano Pettini: add CSV export function, similar to PSML exportUlf Lamping1-0/+4
svn path=/trunk/; revision=13724
2005-02-02Writing the raw data of a TCP stream to a file isn't printing it, soGuy Harris1-3/+0
don't use the print mechanism for that - do the writing directly in the "follow stream" code. Use "size_t" for character counts. Make the "hexchars" array static and const, as it's not written to, and there's probably no point in copying it to the stack (unless that improves cache locality). There's no need to explain why we're subtracting the number of bytes actually read, rather than the number of bytes asked for, from the data length. Note an issue with printing lines. svn path=/trunk/; revision=13240
2005-02-02from chris eagleRonnie Sahlberg1-0/+3
add radiobutton to allow saving raw tcpstreams these radiobuttons should, by someone that uses, this feature be changed into a menu instead. svn path=/trunk/; revision=13236
2004-09-04The packet range stuff knows about capture_file structures, so it'sGuy Harris1-0/+2
really more of an Ethereal/Tethereal component than a libethereal component (nothing else in libethereal knows about capture files); move it back out of libethereal. (The range stuff doesn't; we leave it in libethereal.) svn path=/trunk/; revision=11898
2004-07-27Move the code to open the printer/print file from "print_packets()" toGuy Harris1-36/+43
"print_ok_cb()", and have "print_packets()" just work on a "print_stream_t" handed to it, so that different platforms can open the printer/print file in different ways (opening the file is probably not going to be platform-dependent, but opening the printer will be). svn path=/trunk/; revision=11544
2004-07-27"print_packet_header()" is no longer used (there's now a "generateGuy Harris1-1/+0
bookmark" op in the lower-level print functions), so remove it. svn path=/trunk/; revision=11543
2004-07-25Make some generic print routines that take, as an argument, a pointer toGuy Harris1-11/+38
a structure containing a pointer to print operations for that object and a pointer to the private subclass-dependent data for that object, with subclasses for text and PostScript, and use those rather than the old scheme where a print format was passed as an argument - or where (as in the case of printing summary information in Tethereal) we just printed as text even if "-T ps" was selected. Check whether those routines succeed or get an I/O error writing output. Clean up indentation. svn path=/trunk/; revision=11514
2004-07-23Trivial warning fixes:Jörg Mayer1-1/+1
- comma at end of enum - function declarations with empty args instead of void - c++ style comments svn path=/trunk/; revision=11492
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-08Make the "human-readable text vs. PSML vs. PDML" choice separate fromGuy Harris1-4/+7
the "text vs. PostScript" choice. The "text vs. PostScript" choice should probably ultimately be done with a generic set of print methods, to handle various platform-native print mechanisms more cleanly (and perhaps the dialog box code for "export as {PDML,PSML}" should be separate from the "export as text"/"print" dialog). svn path=/trunk/; revision=11342
2004-05-09From Lars Roland: add support for building a libethereal.dll with MSVC:Guy Harris1-11/+11
add a config.nmake option to control whether to build libethereal.dll or not; remove "./wiretap" from PATH to prevent problems due to wrongly-loaded files; build dissector.lib with MSVC; move "print.c" and "ps.c" to the dissector helpers, as "print.c" imports variables from packet-frame.c and packet-data.c, which are in libethereal; move "g711.c" out of the dissector helpers, as they're used only by Ethereal in a tap, not in Tethereal or in any dissector; add a .def file for libethereal; arrange to declare global variables exported from libethereal with "__declspec(dllimport)" when building programs that import those variables; update the NSIS installer. Make the "configure" script define ETH_VAR_IMPORT as "extern". svn path=/trunk/; revision=10834
2004-04-25put all required data into the print_args,Ulf Lamping1-3/+3
instead of confusing seperation of data svn path=/trunk/; revision=10692
2004-04-24some code cleanup of the printing systemUlf Lamping1-12/+16
svn path=/trunk/; revision=10682
2004-04-22added some options and enhancements to the print output:Ulf Lamping1-1/+5
-ps: added formatting hints for ghostscript, so pdf conversion will be much better -ps: print a thin line at the top and bottom of each page -ps/text: add an option to start a new page for every packet (formfeed) svn path=/trunk/; revision=10660
2004-04-20changed postscript output:Ulf Lamping1-2/+2
reduced print margin to 1/2 inch and font size to 8 point, include filename in page header, wrap too long lines svn path=/trunk/; revision=10652
2004-04-17added PSML output to the printing dialogUlf Lamping1-1/+2
svn path=/trunk/; revision=10628
2004-04-15added print output option, to suppress dissection completelyUlf Lamping1-1/+2
(for raw packet hexdump) svn path=/trunk/; revision=10607
2004-02-20comment changedUlf Lamping1-2/+2
svn path=/trunk/; revision=10133
2004-01-25There's no need to keep a "FILE *" for the file being printed to in aGuy Harris1-3/+3
"capture_file" structure. Keep it locally, instead. Check for errors when printing packets. Report failure to open a print destination and failure to write to a print destination differently. Don't have the "print preamble" and "print final" routines return success/failure indications - revert to the old scheme where they didn't, and have the callers use "ferror()" to check for errors. Report write errors when printing dissections in Tethereal. Report print errors as errors, not warnings. svn path=/trunk/; revision=9828
2004-01-24As with "file_write_error_message()", so withGuy Harris1-4/+4
"file_close_error_message()" - but just use "file_write_error_message()" for UNIX-style errors, under the assumption that a close will only fail because a buffer-flushing write fails or because "close()" itself fails when, for example, pushing unsynced NFS client-side writes out over the wire. Make several routines in "print.c" return success/failure indications. Check for write errors when printing "Follow TCP Stream" stuff or saving it to a file. svn path=/trunk/; revision=9825
2004-01-09use the same packet range things for "Print" dialog, as already implementedUlf Lamping1-4/+2
in the "Save As" dialog and some other minor changes svn path=/trunk/; revision=9610
2003-12-09print system enhanced, more print ranges and expanded statesUlf Lamping1-3/+1
svn path=/trunk/; revision=9222
2003-12-09print system enhanced, more print ranges and expanded statesUlf Lamping1-7/+24
svn path=/trunk/; revision=9221
2003-12-06Add the ability to print packet dissections in PDML (an XML-based format)Gilbert Ramirez1-1/+2
to tethereal. It could be added to Ethereal, but the GUI changes to allow the user to select PDML as a print format have not been added. Provide a python module (EtherealXML.py) to help parse PDML. Provide a sample app (msnchat) which uses tethereal and EtherealXML.py to reconstruct MSN Chat sessions from packet capture files. It produces a nice HTML report of the chat sessions. Document tethereal's PDML and EtherealXML.py usage in doc/README.xml-output Update tethereal's manpage to reflect the new [-T pdml|ps|text] option svn path=/trunk/; revision=9180
2003-09-10When saving packets, we have a "Save only marked packets" option; labelGuy Harris1-6/+4
the option to print only marked packets similarly, rather than as "Suppress unmarked packets" (for consistency, and because the latter isn't unlike a double negative). svn path=/trunk/; revision=8451
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-7/+7
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-06-29Have "print_line()" take an indentation argument, and do blankGuy Harris1-2/+2
padding when printing text and use "putline" when printing PostScript. Eliminate "hexdump", as it's just a special case of "putline". Have "proto_tree_print_node()" just call "print_line()". Get rid of "print_ps_hex()" - the font used for the hex dump and the protocol tree are the same, so there's no need to switch fonts. svn path=/trunk/; revision=5798
2002-06-04Get rid of the "data_src" member of the "frame_data" structure; put itGuy Harris1-4/+4
in the "packet_info" structure instead, as we don't need a pointer for every single frame in the capture file, just for each frame for which we currently have an open "epan_dissect_t". svn path=/trunk/; revision=5614
2002-03-31From Joerg Mayer: get rid of unused arguments, and mark those that can'tGuy Harris1-2/+2
be eliminated (because the function is called through a pointer, and other functions called through the same pointer *do* use the argument) as unused. svn path=/trunk/; revision=5050
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-2/+2
"epan/..." pathnames, so as to avoid collisions with header files in any of the directories in which we look (e.g., "proto.h", as some other package has its own "proto.h" file which it installs in the top-level include directory). Don't add "-I" flags to search "epan", as that's no longer necessary (and we want includes of "epan" headers to fail if the "epan/" is left out, so that we don't re-introduce includes lacking "epan/"). svn path=/trunk/; revision=4586
2001-11-13Hopefully the last time I have to change my e-mail address.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=4199
2001-07-17Added a "Suppress Unmarked" option to the print dialog toEd Warnicke1-1/+6
allow you to suppress the printing of unmarked packets. This allows a user to mark the packets they wish to print and print ONLY those packets by suppressing all other unmarked packets. This may seem like a bit of a convoluted way of expressing things, as usually the desired behavior would be to print the marked packets. However, we do NOT print marked packets that are not displayed under the current filter. To be maximally explicite I've expressed this as suppressing unmarked frames. svn path=/trunk/; revision=3736
2001-06-08When printing the contents of a raw-data field, don't use the raw dataGuy Harris1-4/+3
of the current frame as the source, use the raw data of the tvbuff that's the data source of that field. svn path=/trunk/; revision=3531
2001-03-23Added named data sources printing support, written by Guy HarrisJeff Foster1-3/+2
svn path=/trunk/; revision=3167
2000-08-11Miscellaneous code cleaningLaurent Deniel1-3/+1
- add <stdarg.h> or <varargs.h> in snprintf.h and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes - remove the check of multiple inclusions in source (.c) code (there is a bit loss of _cpp_ performance, but I prefer the gain of code reading and maintenance; and nowadays, disk caches and VM are correctly optimized ;-). - protect all (well almost) header files against multiple inclusions - add header (i.e. GPL license) in some include files - reorganize a bit the way header files are included: First: #include <system_include_files> #include <external_package_include_files (e.g. gtk, glib etc.)> Then #include "ethereal_include_files" with the correct HAVE_XXX or NEED_XXX protections. - add some HAVE_XXX checks before including some system header files - add the same HAVE_XXX in wiretap as in ethereal Please forgive me, if I break something (I've only compiled and regression tested on Linux). svn path=/trunk/; revision=2254
2000-08-03Add a "Save As" feature to the TCP Follow dialogue, to save the streamGilbert Ramirez1-1/+5
file to a user-specified file. Move the file-copy routine in save_cap_file() to an indepenent function in file.c (copy_binary_file()) so that follow_dlg.c can use it. Remove #include "follow.h" from the C files that don't need it. svn path=/trunk/; revision=2200
2000-01-22Fix files that had Gilbert's old e-mail address or that didn't have myGuy Harris1-2/+2
forwarding e-mail address. svn path=/trunk/; revision=1522
2000-01-07"print_file()" is no longer used; nuke it.Guy Harris1-2/+1
svn path=/trunk/; revision=1430
2000-01-06Printing multiple pages of PostScript wasn't as tricky as I thought; addGuy Harris1-5/+10
support for printing in PostScript to the "Print..." dialog box. svn path=/trunk/; revision=1426
1999-11-22A "character encoding" variable is now set per packet. The existenceGilbert Ramirez1-2/+2
of SNA in a packet changes the character encoding from the default ASCII to EBCDIC. The hex-printing routines in the GUI code and in the printing code convert to EBCDIC if appropriate. svn path=/trunk/; revision=1089
1999-10-30Warren Young's patch to add a "Print" button to the "Follow TCP Stream"Guy Harris1-1/+2
data window. Some (belated) man page updates. svn path=/trunk/; revision=950
1999-09-29Add an item to the "File/Print" dialog box to ask that the full hex dataGuy Harris1-2/+16
of the packet be printed (this is only done if "Print detail" is selected; it should be grayed out of "Print summary" is selected). If that item is selected, suppress the hex printing of uninterpreted data items in the protocol tree. Move some GTK+ keys not used outside of "gtk/print_dlg.c" from "gtk/keys.h" into "gtk/print_dlg.c". svn path=/trunk/; revision=736
1999-09-12Add a "Expand all levels"/"Print as displayed" pair of radio buttons toGuy Harris1-3/+3
the "File/Print" dialog box; "Expand all levels" means that all levels of the protocol tree should be printed, while "Print as displayed" means that only those levels shown in the display should be printed. Free the table of column widths once printing is done. svn path=/trunk/; revision=671
1999-09-12Add summary-vs-detail radio buttons to the print dialog box; detailGuy Harris1-2/+2
prints the protocol tree, and summary prints the fields in the summary clist, with a header line at the beginning of the printout. Print only packets selected by the current packet filter. Just have "ARP" and "RARP" in the "Protocol" field for ARP packets; whether it's a request or a reply can be seen in the "Info" field. Add to the "Frame" section of the protocol tree the time between the current packet and the previous displayed packet, and the packet number. Have FT_RELATIVE_TIME fields be a "struct timeval", and display them as seconds and fractional seconds (we didn't have any fields of that type, and that type of time fits the delta time above). Add an FT_DOUBLE field type (although we don't yet have anything using it). svn path=/trunk/; revision=666
1999-09-01Moved GTK-dependent routines for file dialogues, print dialogues, printGilbert Ramirez1-5/+1
preferences, and menus to gtk subdirectory. svn path=/trunk/; revision=623
1999-07-23Printing multiple frames in PostScript is a bit tricky, I think - IGuy Harris1-3/+5
think I may have to worry about page boundaries and the like - so, for now, we make the "File/Print..." stuff print only as text. ("Print Packet" can still print PostScript, as always.) We clean up a few text vs. PostScript things for printing multiple frames, but it's still not ready for prime time. svn path=/trunk/; revision=383
1999-07-23Add a "File/Print" menu item, which prints *all* the packets in theGuy Harris1-2/+5
capture to a file or printer. This should eventually get the ability to print either all the packets or only the packets selected by the display filter, and possibly also the ability to print only packets M through N. Get rid of "cur" member of "capture_file" structure; nobody used it. There's no need to pass a pointer to a "dialog_button" variable to "simple_dialog()" for the error boxes displayed if a file copy or move fails; that dialog box is just a message box and has only an "OK" button. Put the declaration of "prefs" into "prefs.h". svn path=/trunk/; revision=378
1999-07-13When printing a packet, do it from the protocol tree, not from the GTK+Guy Harris1-4/+2
tree constructed from the protocol tree: 1) The value of "level" field of GTK+ tree items appears to depend on various random things - see a change I made to "packet-dns.c" a while ago, to change the order in which items were put in the tree, so that DNS trees printed with correct indentation - and, right now, we appear to be doing *something* wrong, as some packets I printed from one file here had randomly bogus indentation; I could probably track the problem down and fix it, but that might just hold us until we accidentally do something *else* wrong by GTK+'s lights. The new code provides its own tree level as it goes. 2) The new code is independent of GTK+, so it could be used with other toolkits, or with non-GUI variants of Ethereal. 3) This may make it easier to add a "Print..." menu item to let the user print packets other than the currently selected packet. Make the internal routines used to print the packet static. For the "Print Packet" menu item, put up a message box if they haven't yet selected a packet. svn path=/trunk/; revision=362
1998-10-28* Added preference file saves and reads.Gerald Combs1-12/+2
svn path=/trunk/; revision=75
1998-10-10* OSPF alignment fixes (Gerald)Gerald Combs1-4/+4
* FDDI support (Laurent, Guy) svn path=/trunk/; revision=36