Wireshark mailing list archives

Re: Documentation : 9.6. How to produce protocol stats merge request


From: Graham Bloice <graham.bloice () trihedral com>
Date: Thu, 24 Dec 2020 11:09:54 +0000

On Thu, 24 Dec 2020 at 10:49, wsgd <wsgd () free fr> wrote:

Hello,


Thanks for the merge request
I setup an environment (clone ...) to be able to do it

Question : how can I generate the documentation when I modify
WSDG_chapter_dissection.adoc ?


On Windows, CMake generates additional targets for Visual Studio to build
the documentation and uninstaller and then build the installer.  These
targets are explained here
<https://www.wireshark.org/docs/wsdg_html_chunked/ChSetupWin32.html#_optional_create_users_and_developers_guide>,
the *nsis_package_prep* target builds the docs.

There is also build info in docbook/README.adoc
<https://gitlab.com/wireshark/wireshark/-/blob/master/docbook/README.adoc>,
not entirely sure that's up to date as I've never used those targets.


Thanks,
Olivier

Le 23/12/2020 à 14:35, Jaap Keuter a écrit :

Hi,

Thanks for having a look and reporting back. This could have been done as
a merge request, this works as well. I’ve created one on your behalf, see WSDG:
update protocol stats section to match current API
<https://gitlab.com/wireshark/wireshark/-/merge_requests/1449>

Further comments are inline.

Thanks,
Jaap

On 20 Dec 2020, at 10:32, wsgd <wsgd () free fr> wrote:

Hello all,


Questions/remarks about
https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectStats.html


1) An include is missing :
Solution :
Add #include <epan/stats_tree.h>


Done


2) msgtypevalues does not exist
Solution :
Replace "msgtypevalues" by "packettypenames"
 to be conform with previous § 9.2.3. Improving the dissection information
(https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html)


Done


3) st_node_packets = stats_tree_create_node(st, st_str_packets, 0, TRUE);
does not compile
Solution :
Replace it by :
    st_node_packets = stats_tree_create_node(st, st_str_packets, 0,
STAT_DT_INT, TRUE);


Done


4) foo_stats_tree_packet has bad prototype
Solution :
foo_stats_tree_packet should return tap_packet_status / TAP_PACKET_REDRAW
(instead of int / 1)



Done


About register_foo_stat_trees

5) WS_DLL_PUBLIC_DEF void plugin_register_tap_listener(void) does not
compile :
1>T:\wireshark\dev\build_sources_3.4--win64\wireshark\plugins\epan\foo\packet-foo.c(192,1):
error C2491: 'plugin_register_tap_listener' : définition de fonction
dllimport non autorisée
1>Génération du projet "foo.vcxproj" terminée -- ÉCHEC.
"Solution" :
Use __declspec(dllexport) instead of WS_DLL_PUBLIC_DEF


Nope, this is what ws_symbol_export.h is in place for, to have a cross
platform abstraction of dynamically linked identifiers. The build system
has to take care of this, the Windows one is especially finicky about the
details.


6) __declspec(dllexport) void plugin_register_tap_listener(void) is never
called
Solution ? :
- remove it
- call directly register_foo_stat_trees(); from proto_reg_handoff_foo

It is the good way to do ?


Again, this is what the build system is taking care of, to create cross
platform abstractions of the dynamic link linking.


Thanks,
Olivier



-- 
Graham Bloice
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe

Current thread: