aboutsummaryrefslogtreecommitdiffstats
path: root/packet-wcp.c
Commit message (Collapse)AuthorAgeFilesLines
* From Joerg Mayer: get rid of some unused arguments, and make someGuy Harris2002-04-111-10/+10
| | | | | | routines not used outside the file in which they're defined static. svn path=/trunk/; revision=5144
* Label the data source for various forms of reassembled data with theGuy Harris2002-02-271-2/+2
| | | | | | | protocol that fragmented them, rather than just calling them "Reassembled". Do the same with uncompressed WCP data. svn path=/trunk/; revision=4822
* Don't give tvbuffs names; instead, give data sources names, where aGuy Harris2002-02-181-6/+6
| | | | | | | | | | | | | | | "data source" has a name and a top-level tvbuff, and frames can have a list of data sources associated with them. Use the tvbuff pointer to determine which data source is the data source for a given field; this means we don't have to worry about multiple data sources with the same name - the only thing the name does is label the notebook tab for the display of the data source, and label the hex dump of the data source in print/Tethereal output. Clean up a bunch of things discovered in the process of doing the above. svn path=/trunk/; revision=4749
* Include files from the "epan" directory and subdirectories thereof withGuy Harris2002-01-211-3/+3
| | | | | | | | | | | | | "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
* Move the pointer to the "column_info" structure in the "frame_data"Guy Harris2001-12-101-8/+8
| | | | | | | | | | | | | | | 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
* Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris2001-12-031-3/+5
| | | | | | | | take a dissector handle as an argument, rather than a pointer to a dissector function and a protocol ID. Associate dissector handles with dissector table entries. svn path=/trunk/; revision=4308
* Make "fr_subdissector_table" static - it's not used outside the FrameGuy Harris2001-11-301-3/+1
| | | | | | Relay dissector. svn path=/trunk/; revision=4298
* Get rid of some code to set "pinfo->current_proto"; let the EtherealGuy Harris2001-11-271-5/+3
| | | | | | | | infrastructure do it for the dissectors. Make some WCP dissector routines static. svn path=/trunk/; revision=4283
* Change "conversation_set_dissector()" to take a dissector handle, ratherGuy Harris2001-11-271-3/+9
| | | | | | | | | | | | | | | | | | | | | than a pointer to a dissector function, as an argument. This means that the conversation dissector is called through "call_dissector()", so the dissector itself doesn't have to worry about checking whether the protocol is enabled or setting "pinfo->current_proto", so get rid of the code that does that in conversation dissectors. Also, make the conversation dissectors static. Get rid of some direct calls to dissectors; replace them with calls through handles, and, again, get rid of code to check whether a protocol is enabled and set "pinfo->current_proto" where that code isn't needed. Make those dissectors static if they aren't already static. Add a routine "create_dissector_handle()" to create a dissector handle without registering it by name, if the dissector isn't used outside the module in which it's defined. svn path=/trunk/; revision=4281
* If we have to worry about subdissectors changing the "packet_info"Guy Harris2001-11-211-12/+1
| | | | | | | | | | structure, we may have to worry about it in more places than the places that *used* to set "pi.len" and "pi.captured_len", so there's no point in just saving and restoring it there. We'll remove those saves/restores, and worry about saves and restores when we find a problem. svn path=/trunk/; revision=4245
* Get rid of the "len" and "captured_len" members of the "packet_info"Guy Harris2001-11-201-5/+4
| | | | | | structure; they're no longer used. svn path=/trunk/; revision=4236
* Get rid of NullTVB, the "compat_top_tvb" member of the "packet_info"Guy Harris2001-11-151-2/+1
| | | | | | | | structure, the check for a null tvbuff pointer in "alloc_field_info()", and the "tvb_create_from_top()" macro; they're no longer needed, as there's no non-tvbuffified dissector code remaining. svn path=/trunk/; revision=4205
* Instead of having a single datum attached to a conversation, have a listGuy Harris2001-09-031-10/+14
| | | | | | | | | | | of protocol-id-plus-datum pairs, so that multiple protocols can attach information to the same conversation. Dissectors that attach information to a conversation should not assume that if they find a conversation it has one of its data attached to it; the conversation might've been created by another dissector. svn path=/trunk/; revision=3901
* From Joerg Mayer: explicitly fill in all members of aGuy Harris2001-06-181-26/+26
| | | | | | | "header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
* If the tvbuff pointer is null in "alloc_field_info()", get the dataGuy Harris2001-04-101-1/+14
| | | | | | | | | | | | source name from "pi.compat_top_tvb", which should always be set to the tvbuff that refers to the data that old-style dissectors are currently working on. Arrange that it be so set in those dissectors that create alternate data sources and call other dissectors, and also arrange that "pi.len" and "pi.captured_len" be set appropriately as well. svn path=/trunk/; revision=3286
* NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,Guy Harris2001-03-301-37/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | respectively, not Q.931 and Q.2931, in Frame Relay. When dissecting Q.933-style multiprotocol encapsulated Frame Relay frames, use the "osinl" dissector table to check for OSI network layer protocols, include the NLPID in the tvbuff you hand to "dissector_try_port()" with that dissector table, and put the NLPID into the protocol tree as an invisible item - the NLPID is considered part of the PDU for those protocols, so you have to include it in the tvbuff, and the dissector will put it into the protocol tree. Also, make sure the top-level entry for the Frame Relay protocol includes all the bytes preceding the payload, and none of the payload bytes. Export a routine to do Q.933-style dissection, and have the WCP dissector call it, rather than duplicating that code in the WCP dissector. Don't register OSI network layer protocols with the "fr.ietf" dissector table; it's now sufficient to register them with the "osinl" dissector table, as the Frame Relay dissector now checks that. Get rid of unnecessary checks for protocols being enabled (if the dissector is always called through handles or dissector tables, the common code for handles and dissector tables will do the checks for you). Get rid of some unnecessary #includes. svn path=/trunk/; revision=3211
* Add WCP to the list of Ethernet types in "etype_vals[]", and addGuy Harris2001-03-291-3/+2
| | | | | | | | "compressed" to the list of NLPIDs in "nlpid_vals[]". Use "nlpid_vals" for the Frame Relay NLPID field. svn path=/trunk/; revision=3206
* An NLPID of 0xb0 is defined by ISO/IEC TR 9577 to be "Data compressionGuy Harris2001-03-291-2/+2
| | | | | | protocol"; give it a more generic name than NLPID_WCP. svn path=/trunk/; revision=3204
* Added the created tvbuff into the original tvbuff chain so clean-up is ↵Jeff Foster2001-03-261-1/+4
| | | | | | performed. svn path=/trunk/; revision=3192
* Add "volatile" qualifiers so that variables survive a setjmp/longjmpGuy Harris2001-03-231-3/+3
| | | | | | operation. svn path=/trunk/; revision=3175
* Pull the NLPID for Wellfleet compression into "nlpid.h".Guy Harris2001-03-231-2/+1
| | | | svn path=/trunk/; revision=3173
* Fixed problem in wcp_uncompress. If the proto_tree was null the programJeff Foster2001-03-231-10/+16
| | | | | | would segfault when creating the sub-tree. svn path=/trunk/; revision=3170
* Updated the frame relay dissector - dissect-fr.cJeff Foster2001-03-231-0/+756
Added the LMI dissector for frame relay - dissect-lmi.c Added Wellfleet compression dissector - dissect-wcp.c svn path=/trunk/; revision=3168