aboutsummaryrefslogtreecommitdiffstats
path: root/print.c
AgeCommit message (Collapse)AuthorFilesLines
2004-09-10Move the stuff to handle ASCII <-> EBCDIC conversions toGuy Harris1-1/+1
"epan/charsets.c"; other character set translation code should perhaps go there as well. svn path=/trunk/; revision=11958
2004-09-04The packet range stuff knows about capture_file structures, so it'sGuy Harris1-1/+1
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-09-04Rename "range.c" and "range.h" to "packet-range.c" and "packet-range.h";Guy Harris1-1/+1
they should ultimately be split into files with routines that handle ranges, which are just subsets of [0,2^32), and packet ranges, which are subsets of the packet list, possibly specified by a range. Move them into epan, so they can be used by, for example, utilities that handle ranges, such editcap. svn path=/trunk/; revision=11890
2004-07-29From Lars Roland: With this patch print.(c/h) and ps.(c/h) don't belong to Olivier Biot1-0/+4
the DISSECTOR_SUPPORT_xy files any longer and as a consequence they won't be linked into libethereal. svn path=/trunk/; revision=11559
2004-07-27"print_packet_header()" is no longer used (there's now a "generateGuy Harris1-34/+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-112/+337
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-18Move dissectors to epan/dissectors directory.Gilbert Ramirez1-2/+2
Also move ncp222.py, x11-fields, process-x11-fields.pl, make-reg-dotc, and make-reg-dotc.py. Adjust #include lines in files that include packet-*.h files. svn path=/trunk/; revision=11410
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-276/+299
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-07-05bugfix: don't try to print data, if tvb is too shortUlf Lamping1-1/+7
svn path=/trunk/; revision=11318
2004-05-01Add escaping of an apostrophe in XML output.Olivier Biot1-1/+4
svn path=/trunk/; revision=10760
2004-05-01add PROTO_ITEM_SET_HIDDEN() and PROTO_ITEM_SET_GENERATED(),Ulf Lamping1-3/+3
this sets flags for later rendering of the field data svn path=/trunk/; revision=10752
2004-04-26Look for out of bounds data after calling tvb_length_remaining().Gilbert Ramirez1-8/+15
svn path=/trunk/; revision=10709
2004-04-24some code cleanup of the printing systemUlf Lamping1-9/+9
svn path=/trunk/; revision=10682
2004-04-22added some options and enhancements to the print output:Ulf Lamping1-3/+51
-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/+12
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-6/+48
svn path=/trunk/; revision=10628
2004-04-17PDML output: if a protocol field is invisible,Ulf Lamping1-7/+21
add the attribute: hide="yes" to the field node svn path=/trunk/; revision=10626
2004-04-16make print dialog "Packet Format" options somewhat similar to theUlf Lamping1-7/+30
Ethereal panes, thus better understandable svn path=/trunk/; revision=10611
2004-04-15added print output option, to suppress dissection completelyUlf Lamping1-3/+4
(for raw packet hexdump) svn path=/trunk/; revision=10607
2004-04-15added print output of PDML formatUlf Lamping1-9/+13
svn path=/trunk/; revision=10606
2004-01-25There's no need to keep a "FILE *" for the file being printed to in aGuy Harris1-11/+7
"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-10/+14
"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-09There seems to be a missing #include ... there are still errors, though.Richard Sharpe1-1/+2
svn path=/trunk/; revision=9611
2003-12-30In "get_field_data()", check to make sure the field doesn't run past theGuy Harris1-3/+16
end of the tvbuff. svn path=/trunk/; revision=9501
2003-12-10Analyzer's PDML will be changed to start the packet offset (the "pos" field)Gilbert Ramirez1-6/+6
at 0 instead of 1. This works better for Ethereal, as our offsets start at 0. Change the "geninfo" pseudo-protocol to use pos="0" instead of pos="1". svn path=/trunk/; revision=9238
2003-12-09print system enhanced, more print ranges and expanded statesUlf Lamping1-13/+14
svn path=/trunk/; revision=9222
2003-12-08"proto_construct_dfilter_string()" can return a null pointer, e.g. forGuy Harris1-18/+20
protocol tree fields that don't have values and that are zero-length. Combine the "if (fi->hfinfo->type != FT_PROTOCOL && fi->length > 0)" stuff to show the raw value into the previous "if". svn path=/trunk/; revision=9210
2003-12-06Add the ability to print packet dissections in PDML (an XML-based format)Gilbert Ramirez1-8/+311
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-12-04Don't use GNodes for the protocol tree, put the sibling pointer, andGuy Harris1-7/+6
pointers to the first *and* last child, in the "proto_node" structure itself. That saves us one level of indirection and memory allocation, and lets us append to a tree by appending to the last child directly, rather than having to scan through the list of siblings of the first child to find the end of that list. svn path=/trunk/; revision=9171
2003-12-03The "ptr_u" unions no longer have a "next" pointer - they now just haveGuy Harris1-2/+2
one member - or have one that's not used, so get rid of those unions. svn path=/trunk/; revision=9151
2003-11-27"representation", in an "item_label_t", is now an array, not a pointer,Guy Harris1-2/+2
so "fi->rep->representation" can't be null. svn path=/trunk/; revision=9108
2003-11-27bugfix: removed access violation when using "File/Print Packet".Ulf Lamping1-2/+2
The label_ptr could be NULL, when calling function print_line svn path=/trunk/; revision=9099
2003-11-25remove another slow GMemChunk from ethereal making ethereal a little bit fasterRonnie Sahlberg1-3/+3
svn path=/trunk/; revision=9085
2003-11-24Make the recent epan/proto.{c,h} change compile.Guy Harris1-2/+2
svn path=/trunk/; revision=9075
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-5/+5
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-13/+9
equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
2002-06-29Have "print_line()" take an indentation argument, and do blankGuy Harris1-44/+35
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-23Fix up a comment.Guy Harris1-5/+4
svn path=/trunk/; revision=5748
2002-06-22Display as many digits of the offset, in the hex dump, as would beGuy Harris1-9/+56
required by the largest offset value. Get rid of trailing blanks in hex dump lines. svn path=/trunk/; revision=5739
2002-06-22Use a common routine to print protocol tree nodes as text or PostScript,Guy Harris1-77/+33
rather than having duplicate routines (the PostScript one was missing some bug fixes in the text one). svn path=/trunk/; revision=5731
2002-06-22Get rid of separate "print_hex_data_text()" and "print_hex_data_ps()"Guy Harris1-71/+42
routines; instead, rename "print_hex_data_common()" to "print_hex_data_buffer()" as it prints a buffer in hex and ASCII (or EBCDIC), and have it take the print format as an argument. Have it use "print_line()" to print lines, and fix "print_line()" so that it prints a buffer *without* a newline at the end, printing the newline itself. svn path=/trunk/; revision=5729
2002-06-22In the hex dump, generate the offset at the beginning of each line inGuy Harris1-25/+19
common code, rather than in print-format-specific code, and have "print_hex_data_common()" put out the blank line before the dump itself rather than relying on the print-format-specific "start printing the hex dump" code to do it. svn path=/trunk/; revision=5728
2002-06-21Use common code to print the hex dump as text and PostScript.Guy Harris1-63/+72
svn path=/trunk/; revision=5727
2002-06-21Make the hex dump when printing PostScript look the same way it doesGuy Harris1-6/+6
when printing plain text. svn path=/trunk/; revision=5726
2002-06-04Get rid of the "data_src" member of the "frame_data" structure; put itGuy Harris1-15/+22
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-05-10From Joerg Mayer: make a pile of stuff not used outside one source fileGuy Harris1-4/+2
static, and add a new "packet-data.h" to declare "proto_data". Display escape sequences in octal in the IAPP dissector, as is now done in the RADIUS dissector. svn path=/trunk/; revision=5441
2002-04-02In the tree-printing code, we may be handed a leaf node, so don'tGuy Harris1-5/+7
require that "fi->tree_type" be positive. svn path=/trunk/; revision=5084
2002-04-01Start assigning ett_ values at 0, rather than 1; get rid of the reservedGuy Harris1-1/+2
ETT_NONE entry. Initialize the "tree_type" field of a "field_info" structure to -1, meaning "this has not been given a subtree". Add checks before using that field that it's in range. That way, you have to create a subtree before putting protocol tree items under another item. We allocate the "tree_is_expanded" array when we've registered all dissectors; there's no need to allocate it while we're registering dissectors and, in fact, doing so means we leak memory (the memory for the version we allocated while registering dissectors). svn path=/trunk/; revision=5068
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