aboutsummaryrefslogtreecommitdiffstats
path: root/epan/to_str.h
AgeCommit message (Collapse)AuthorFilesLines
2021-10-07to_str: scope tvb_ip6_to_strEvan Huus1-1/+1
2021-10-07to_str: scope tvb_ip_to_strEvan Huus1-1/+1
2021-10-05to_str: scope decode_bits_in_fieldEvan Huus1-1/+1
Mostly straightforward. The only complication was proto_tree_add_split_bits_crumb which needed some manipulation to guarantee a non-null tree so we could use its memory scope. This is one of the last non-dissector uses of wmem_packet_scope!
2021-10-04to_str: pull scope arg up into more addr macrosEvan Huus1-3/+3
These three all had pretty minimal usage, so do them together.
2021-10-04to_str: pull scope arg up into tvb_ether_to_strEvan Huus1-1/+1
There are a bunch of near-identical macros here, but I'm gonna change one at a time or else the builder times out at the number of files changed in one merge.
2021-09-26USB HID: Parse bit fields with correct bit orderTomasz Moń1-1/+1
Implement little endian support for tvb_get_bits family of functions. The big/little endian refers to bit numbering within an octet. In big endian, the most significant bit is considered bit 0, while in little endian the least significant bit is considered bit 0. Add encoding parameters to proto tree bits format family functions. Specify ENC_BIG_ENDIAN in all dissectors using these functions except in USB HID that requires ENC_LITTLE_ENDIAN to work correctly. When formatting bits values, always display most significant bit on the leftmost position regardless of the encoding. This results in no gaps between octets and makes the displayed value comprehensible. Close #4478 Fix #17014
2021-09-16Move more numerical functions to wsutil/to_str.hJoão Valverde1-20/+0
2021-09-16Reformat and cleanup epan/to_str.h headerJoão Valverde1-35/+70
2021-09-16Move more numerical epan/*to_str() routines to wsutilJoão Valverde1-33/+0
2021-09-16Move epan/*to_str_back() functions to wsutilJoão Valverde1-11/+0
2021-07-29Move bytes_to_str() to wsutilJoão Valverde1-33/+1
This utility function is useful outside of epan. Move it to wsutil and export the interface. The move isn't completely clean as it requires duplicating two small inline functions but that was necessary to avoiding moving too much at once.
2021-07-26Move epan/wmem/wmem_scopes.h to epan/João Valverde1-1/+1
This header was installed incorrectly to epan/wmem_scopes.h. Instead of creating additional installation rules for a single header in a subfolder (kept for backward compatibility) just rename the standard "epan/wmem/wmem.h" include to "epan/wmem_scopes.h" and fix the documentation. Now the header is installed *correctly* to epan/wmem_scopes.h.
2021-06-20epan: Change bytes_to_str() length argument to a size_tJoão Valverde1-3/+3
2020-10-18Handle relative times with >2^31 seconds.Guy Harris1-1/+1
Make display_signed_time() take a 64-bit signed number of seconds, and, in calls to it, cast the argument to gint64, not gint32. Addresses issue #16909.
2018-02-08epan: use SPDX indentifiers.Dario Lombardo1-13/+1
Skipping dissectors dir for now. Change-Id: I717b66bfbc7cc81b83f8c2cbc011fcad643796aa Reviewed-on: https://code.wireshark.org/review/25694 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-10-29Improve our ip6_to_str_buf() implementationJoão Valverde1-1/+6
Change-Id: I02b5d01797e526299a6dc5a031662cb78e4f8423 Reviewed-on: https://code.wireshark.org/review/24163 Reviewed-by: João Valverde <j@v6e.pt>
2017-10-29Get rid of MAX_IP_STR_LEN and MAX_IP6_STR_LEN.Guy Harris1-2/+0
We have WS_INET_ADDRSTRLEN and WS_INET6_ADDRSTRLEN; use them. Change-Id: Idade0da9fae70d891901acd787b06d21e2ddbc5f Reviewed-on: https://code.wireshark.org/review/24156 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-10-26Add a ws_in6_addr typedef for struct e_in6_addr.Guy Harris1-1/+1
That allows a parallel typedef of ws_in4_addr for guint32. Change-Id: I03b230247065e0e3840eb87635315a8e523ef562 Reviewed-on: https://code.wireshark.org/review/24073 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-07-09Don't use uint_to_str_back when you need guint32_to_str_buf.Michael Mann1-2/+2
It will end up eventually crashing column buffers because memory behind the address is trounced. Change-Id: Id6b5a42effc503e4b8bf5e1deb2135241e2893f3 Reviewed-on: https://code.wireshark.org/review/22563 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-09-19Improve support for single-character fields and filter expressions.Guy Harris1-0/+11
Add an FT_CHAR type, which is like FT_UINT8 except that the value is displayed as a C-style character constant. Allow use of C-style character constants in filter expressions; they can be used in comparisons with all integral types, and in "contains" operators. Use that type for some fields that appear (based on the way they're displayed, or on the use of C-style character constants in their value_string tables) to be 1-byte characters rather than 8-bit numbers. Change-Id: I39a9f0dda0bd7f4fa02a9ca8373216206f4d7135 Reviewed-on: https://code.wireshark.org/review/17787 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-06-06Move ip6_to_str_buf() to to_str.c and make it take the buffer length.João Valverde1-2/+3
Also make it use ws_inet_ntop6() (rather than implementing the string conversion ourselves). Remove ip6_to_str_buf_len(). Change-Id: I1eff3a8941e00987c2ff0c4dcfda13476af86191 Reviewed-on: https://code.wireshark.org/review/15692 Reviewed-by: João Valverde <j@v6e.pt> Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-05-09Give the time_[m]secs_to routines names that begin with "[un]signed_".Guy Harris1-3/+3
Indicate whether they take a signed time delta or an unsigned time delta. Export unsigned_time_secs_to_str() while we're at it. Change-Id: I0fbe87f1825efa886364caa61a3358b79d285947 Reviewed-on: https://code.wireshark.org/review/15324 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-05-09Shuffle some routines to put absolute-time and relative-time code together.Guy Harris1-4/+6
Put the routines that handle absolute time ("relative to the Epoch") together and the routines that handle relative time together. Change-Id: I15256921091ab67a1d92026385bf1b27aa52b404 Reviewed-on: https://code.wireshark.org/review/15316 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-12Refactor "Follow Stream" functionality on all GUI interfaces.Michael Mann1-1/+1
Create a "registration" system for Follow functionality so most of the work can be abstracted into a dissector and GUI can just be responsible for "display". This also removes the global variables in follow.c to open up multithreading possibilities. TCP, UDP and HTTP all have the same "tap interface" for Follow functionality (passing a tvb with byte data to "follow"). SSL still has it's own behavior, so Follow structures have to take that into account. TShark through the Follow registration now has support for HTTP. The only thing possibly missing is dynamic menu generation to further reduce explicit knowledge of Follow "type" (and rely on registration) Bug: 11988 Change-Id: I559d9ee1312406ad0986d4dce9fa67ea2103b339 Reviewed-on: https://code.wireshark.org/review/13161 Reviewed-by: Michael Mann <mmann78@netscape.net>
2016-01-07Remove constness from bytestring_to_str() [-Wcast-qual]João Valverde1-1/+1
Change-Id: I7f942787dfdc4f76dd0ad5111d1eb528b20f0ba9 Reviewed-on: https://code.wireshark.org/review/13011 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: João Valverde <j@v6e.pt>
2016-01-03Rename ipv6-utils.h to ipv6.h.Guy Harris1-1/+1
By analogy to ipv4.h. Change-Id: I147565b332024b1bb88e9cd15889255773d04524 Reviewed-on: https://code.wireshark.org/review/13034 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-03If you want struct e_in6_addr, include <epan/ipv6-utils.h>.Guy Harris1-2/+1
Don't just define it yourself. (And especially don't define it yourself if you're already including epan/ipv6-utils.h.) Change-Id: I9970d0edecef0c820b2a7fdce34509b54e7b3106 Reviewed-on: https://code.wireshark.org/review/13020 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-12-05Fix for bug 11856:Andreas Urke1-1/+1
Correct parameter-name "opt-offset" to "offset" in macro "tvb_eui64_to_str" in epan/to_str.h such that offset is taken into account when converting eui64 to str. Bug: 11856 Change-Id: Id0b17c4b9186b4c41d6fe338ba7c017e88f63acf Reviewed-on: https://code.wireshark.org/review/12441 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-29Make address_to_display() use proper (non-)constnessJoão Valverde1-1/+1
Don't return allocated memory as a const pointer. Fixes multiple [-Wcast-qual] warnings. Change-Id: Ie9ceac27fa2a5eba41a5392ac983ff28c3939239 Reviewed-on: https://code.wireshark.org/review/12267 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-19If it's used by dissectors, it belongs in to_str.h, not to_str-int.h.Guy Harris1-2/+43
Assuming *any* of the routines that generate printable strings should be thought of as "for internal use by libwireshark routines only, not by dissectors", the ones that *are* used by dissectors obviously shouldn't be. The ability for dissectors to register address types certainly expands the list of routines they would use. Move everything used by dissectors from to_str-int.h into to_str.h, and have dissectors not include to_str-int.h. (Perhaps we should just get rid of to_str-int.h altogether.) Change-Id: I3c583351f038233c9bcd8f9216188f82630267fa Reviewed-on: https://code.wireshark.org/review/11149 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-17Bluetooth: Fix displaying and handling UUID128Michal Labedzki1-0/+3
Use a standard way of displaying 128 UUIDs (like GUID). This also change a way that UUID are handled by dissector tables. Change-Id: Ie0f880f58480c34b40dd23c426202349e0620b12 Reviewed-on: https://code.wireshark.org/review/11018 Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2015-09-13Make other_decode_bitfield_value private to proto.c.Michael Mann1-3/+0
This is further encouragement to not try to manually create a bitstring while formatting a field. Change-Id: I4efbeb39a210cf1fd26203cd8560859276b333b0 Reviewed-on: https://code.wireshark.org/review/10494 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-07-03Fix address resolution for columns.Guy Harris1-0/+27
Have address_to_name() be a routine that takes an address and returns a string with a "sufficiently long" lifetime for use in columns, using the address type's addr_name_res_str routine for most address types, rather than having a too-small set of address types wired into it. It replaces both the internal solve_address_to_name() routine and get_addr_name(), and can, for example, handle the special WLAN address types rather than leaving them unresolved even with an ethers file. Change-Id: Id09bc412adf5d2752155650a14a77c5378af2e42 Reviewed-on: https://code.wireshark.org/review/9475 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-04-29to_str.h: fix api referenceAlexis La Goutte1-0/+1
The following parameters of tvb_address_var_to_str(wmem_allocator_t *scope, tvbuff_t *tvb, address_type type, const gint offset, int length) are not documented: parameter 'length' Change-Id: I0b93a2b47601bbb5ef424b6d0c2651952241ce32 Reviewed-on: https://code.wireshark.org/review/8229 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-19Eliminate decode_bitfield_value from "public" use.Michael Mann1-2/+0
This "encourages" (forces) dissectors to use the bitmask field of the header_field_info structure to get "bitmask formatting" of a field. other_decode_bitfield_value should be treated the same (eventually eliminated), but there are still replacements to be made in the dissectors. Change-Id: I8a0d829c3fef2d5e5a588667a259e231bca559e6 Reviewed-on: https://code.wireshark.org/review/7736 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-02-22Add tvb_address_with_resolution_to_str.Michael Mann1-0/+1
Convert dissectors to using the API where appropriate. Change-Id: I059582f73a75635d4a0338d02d4c4b212162480b Reviewed-on: https://code.wireshark.org/review/7296 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-21Make FT_{U}INT64 behave more like FT_{U}INT32, add support for ↵JC Wren1-0/+1
FT_{U}INT{40,48,56} Change-Id: I57354c309ecf3a0c8f0c7cff485638027f30bb19 Reviewed-on: https://code.wireshark.org/review/5813 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-02-19Add name resolution support to address type.Michael Mann1-0/+1
Add address_with_resolution_to_str API that returns address string + name resolution in the format %s (%s), first string is resolved name (if available) and second string is raw address string. Convert AT_FCWWN to using proper name resolution format First use of address_with_resolution_to_str with field types in proto.c Change-Id: I2ae77c29a4ffc30bb919fbec00f06629830898c2 Reviewed-on: https://code.wireshark.org/review/7196 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-09Add fixed length function for address types.Michael Mann1-2/+1
This allows for even more cleanup with respect to how address types are handled, including removing address_to_str.c. Most of the functionality was folded into address_types.c, but the remainder was just dispersed because it didn't make sense to keep the file. Change-Id: Id4e9391f0c3c26eff8c27b362e4f7a1970d718b4 Reviewed-on: https://code.wireshark.org/review/7038 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-09Add "column filter string" support to address types.Michael Mann1-14/+0
Information about dissector (filter) fields should be kept in a dissector as much as possible. Supporting "column filter string" also allows other dissectors to create their own "address types" with different column filters (because AT_ETHER isn't always an "Ethernet" address). This feature also allowed a few "dissector specific" address types to be moved to their own dissector. Change-Id: Ie9024af4db62bc2ee4f8c9d28a1d807f706f45bf Ping-Bug:7728 Reviewed-on: https://code.wireshark.org/review/7029 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-10to_str (epan): fix parameter 'scope' not found in the function declaration ↵Alexis La Goutte1-1/+1
[-Wdocumentation] Change-Id: Ie414d28415b71a79780d37fae454b90a7a610e1c Reviewed-on: https://code.wireshark.org/review/6475 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-09Convert EUI64 address APIs to use wmem.Michael Mann1-1/+1
Change-Id: I57d2e435ac72ea07ec9a567e0b1ce4410966e3d2 Reviewed-on: https://code.wireshark.org/review/6419 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-09Have ipxnet addresses use wmem scoped memory.Michael Mann1-1/+1
Change-Id: I1d8eed2ceacccce2768590f0689cd2c83a5e56e9 Reviewed-on: https://code.wireshark.org/review/6418 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-09disperse atalk-utils.[ch]Michael Mann1-0/+15
The functionality was suiting for address_to_str.c and the #defines belong in packet-atalk.h. Kept the address structure with the "address string conversion", but that can probably be better cleaned up when the address to str as a whole is cleaned up. Would also consider making AT_ATALK an FT_ type as well. Change-Id: Ia534096c707e6fb94acdfee0d332beda6571c371 Reviewed-on: https://code.wireshark.org/review/6417 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-08guid_to_ep_str -> guid_to_strMichael Mann1-1/+1
guid_to_str now uses wmem allocation. Change-Id: I8e48d1a720942fbefbaa6227ae0929cb9f856359 Reviewed-on: https://code.wireshark.org/review/6391 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-08Remove decode_numeric_bitfield.Michael Mann1-2/+0
It was only used by 1 dissector and that dissector can just use bitmasking in the hf_ field. Change-Id: I99179356dd7cbfab0c7be1512357a7e4c0eecde6 Reviewed-on: https://code.wireshark.org/review/6390 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-08bytes_to_ep_str -> bytes_to_strMichael Mann1-5/+1
Change-Id: Ifcda8328dedec0ef4104c3a124d6246f99493750 Reviewed-on: https://code.wireshark.org/review/6389 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-07Replace bytes_to_ep_str_punct with wmem equivalent.Michael Mann1-7/+4
Change-Id: I8aa7d7374db94685fd875cbf358c3bfbc83f3255 Reviewed-on: https://code.wireshark.org/review/6370 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-07Remove bytestring_to_ep_strMichael Mann1-3/+0
Use wmem equivalent bytestring_to_str Change-Id: I1ec7509e3adb36ab0f65317459653cb3b4b11af8 Reviewed-on: https://code.wireshark.org/review/6368 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-07Add tvb_address_to_str.Michael Mann1-8/+31
This is intended to handle ALL address types retrieved from a tvbuff. One of the (good) side effects of this function is that it can replace a lot of the "hidden" ep_alloc calls used to allocate memory for the address string. A few existing "popular" helper tvb_ functions were turned into pure macros calling tvb_address_to_str. Some of the "less used" helper tvb_ functions were just directly replaced with tvb_address_to_str. Change-Id: I361d991c4ad90142173e63eae02a94d68af3ec43 Reviewed-on: https://code.wireshark.org/review/6333 Reviewed-by: Michael Mann <mmann78@netscape.net>