From 04a5c3652e55e121c5dccb326d812212bf24cb0a Mon Sep 17 00:00:00 2001 From: Dan Podeanu Date: Sun, 19 Nov 2023 03:12:58 +0800 Subject: [PATCH] Update README.md and Doxygen generated documentation --- README.md | 1 + docs/annotated.html | 1 + docs/annotated_dup.js | 3 +- docs/classes.html | 2 +- docs/functions.html | 39 ++- docs/functions_vars.html | 39 ++- docs/globals.html | 1 + docs/globals_defs.html | 1 + docs/md__r_e_a_d_m_e.html | 4 +- docs/menudata.js | 14 +- docs/navtreeindex0.js | 53 ++-- docs/search/all_1.js | 20 +- docs/search/all_8.js | 5 +- docs/search/all_9.js | 5 +- docs/search/all_a.js | 6 + docs/search/classes_0.js | 3 +- docs/search/defines_4.js | 4 + docs/search/searchdata.js | 6 +- docs/search/variables_0.js | 20 +- docs/search/variables_3.js | 3 +- docs/search/variables_4.js | 5 + docs/structsettings-members.html | 1 + docs/structsettings.html | 16 ++ docs/structsettings.js | 3 +- docs/structstatistics-members.html | 125 +++++++++ docs/structstatistics.html | 406 +++++++++++++++++++++++++++++ docs/structstatistics.js | 21 ++ docs/udp-redirect_8c.html | 25 +- docs/udp-redirect_8c.js | 2 + 29 files changed, 795 insertions(+), 39 deletions(-) create mode 100644 docs/search/all_a.js create mode 100644 docs/search/defines_4.js create mode 100644 docs/search/variables_4.js create mode 100644 docs/structstatistics-members.html create mode 100644 docs/structstatistics.html create mode 100644 docs/structstatistics.js diff --git a/README.md b/README.md index efea88d..508872a 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,7 @@ Runs in foreground and expects external process control (svscan, nohup, etc.) | --- | --- | --- | --- | | ```--verbose``` | | *optional* | Verbose mode, can be specified multiple times. | | ```--debug``` | | *optional* | Debug mode (e.g., very verbose). | +| ```--stats``` | | *optional* | Display send/receive and resource consumption every 60 seconds. | ## Listener diff --git a/docs/annotated.html b/docs/annotated.html index 1c483d0..455a146 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -95,6 +95,7 @@
Here are the classes, structs, unions and interfaces with brief descriptions:
+
 Csettings
 Cstatistics
diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 2152553..e0122ba 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,4 +1,5 @@ var annotated_dup = [ - [ "settings", "structsettings.html", "structsettings" ] + [ "settings", "structsettings.html", "structsettings" ], + [ "statistics", "structstatistics.html", "structstatistics" ] ]; \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html index 90d32c7..a96b336 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -96,7 +96,7 @@
S
-
settings
+
settings
statistics
diff --git a/docs/functions.html b/docs/functions.html index 71e8a56..6df3e74 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -89,21 +89,58 @@
-
Here is a list of all class members with links to the classes they belong to:
diff --git a/docs/functions_vars.html b/docs/functions_vars.html index a5e21c0..fdb4958 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -89,21 +89,58 @@
-
Here is a list of all variables with links to the classes they belong to:
diff --git a/docs/globals.html b/docs/globals.html index 0246026..46fdb79 100644 --- a/docs/globals.html +++ b/docs/globals.html @@ -105,6 +105,7 @@
  • NETWORK_BUFFER_SIZE : udp-redirect.c
  • resolve_host() : udp-redirect.c
  • socket_setup() : udp-redirect.c
  • +
  • STATS_DELAY_SECONDS : udp-redirect.c
  • usage() : udp-redirect.c
  • diff --git a/docs/globals_defs.html b/docs/globals_defs.html index c9d61a4..a3539d9 100644 --- a/docs/globals_defs.html +++ b/docs/globals_defs.html @@ -96,6 +96,7 @@
  • ERRNO_IGNORE_SET : udp-redirect.c
  • MAX_ERRNO : udp-redirect.c
  • NETWORK_BUFFER_SIZE : udp-redirect.c
  • +
  • STATS_DELAY_SECONDS : udp-redirect.c
  • diff --git a/docs/md__r_e_a_d_m_e.html b/docs/md__r_e_a_d_m_e.html index 768eb26..5c5cbba 100644 --- a/docs/md__r_e_a_d_m_e.html +++ b/docs/md__r_e_a_d_m_e.html @@ -135,7 +135,9 @@

    --verbose optional Verbose mode, can be specified multiple times. ---debug optional Debug mode (e.g., very verbose). +--debug optional Debug mode (e.g., very verbose). + +--stats optional Display send/receive and resource consumption every 60 seconds.

    Listener

    diff --git a/docs/menudata.js b/docs/menudata.js index 5ae4908..0743345 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -29,8 +29,18 @@ var menudata={children:[ {text:"Class List",url:"annotated.html"}, {text:"Class Index",url:"classes.html"}, {text:"Class Members",url:"functions.html",children:[ -{text:"All",url:"functions.html"}, -{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"All",url:"functions.html",children:[ +{text:"c",url:"functions.html#index_c"}, +{text:"e",url:"functions.html#index_e"}, +{text:"l",url:"functions.html#index_l"}, +{text:"s",url:"functions.html#index_s"}, +{text:"t",url:"functions.html#index_t"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"c",url:"functions_vars.html#index_c"}, +{text:"e",url:"functions_vars.html#index_e"}, +{text:"l",url:"functions_vars.html#index_l"}, +{text:"s",url:"functions_vars.html#index_s"}, +{text:"t",url:"functions_vars.html#index_t"}]}]}]}, {text:"Files",url:"files.html",children:[ {text:"File List",url:"files.html"}, {text:"File Members",url:"globals.html",children:[ diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index 6c50bcf..a9fe994 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -34,27 +34,48 @@ var NAVTREEINDEX0 = "structsettings.html#a5f534553808758cbaec8d78796a6a40d":[1,0,0,7], "structsettings.html#a6144aeafdfb423cabed5f69eb96eb300":[1,0,0,13], "structsettings.html#a73ba0b9364d8e2f535fd5a0e9f0850ba":[1,0,0,4], +"structsettings.html#a75f657baf41d582a2481708f1e89e135":[1,0,0,14], "structsettings.html#a78c27be07aaf3a77d88016bc4d4406e1":[1,0,0,0], "structsettings.html#a8725c7c840acf2b89816ae7b576db12e":[1,0,0,9], "structsettings.html#ab0ae900aaaa17fc9a66df172ee8ae102":[1,0,0,11], "structsettings.html#aca05989209d3cb086986065afacf88b6":[1,0,0,12], "structsettings.html#acdfde83a90fe7d0c4f621bf8b5d1dfae":[1,0,0,2], "structsettings.html#ad19d72d81de785bc796800503cda86a6":[1,0,0,1], +"structstatistics.html":[1,0,1], +"structstatistics.html#a16a371ae9d2bb454bb60b0b3625f67e7":[1,0,1,9], +"structstatistics.html#a274d4055e87d710427620886f2e300c2":[1,0,1,6], +"structstatistics.html#a2a0680c786a86eaa1f0f431c3a900821":[1,0,1,17], +"structstatistics.html#a2b6556c512c8025ce586519476d5f8da":[1,0,1,3], +"structstatistics.html#a33abaabdae436bd0dc52c6a820623251":[1,0,1,0], +"structstatistics.html#a4a1dd86d0052626a601d370d9ab2db2f":[1,0,1,1], +"structstatistics.html#a59073dd2be7174fcccfdfe9784f8308e":[1,0,1,2], +"structstatistics.html#a5d7215a717394dd57419deb5ecef5a35":[1,0,1,7], +"structstatistics.html#a6af52648eea5a101d1b11283f347e481":[1,0,1,10], +"structstatistics.html#a818b4570bdbd8a3fa34a607fb1df3c14":[1,0,1,5], +"structstatistics.html#a84a7fc8268450641d6298a2547064cd4":[1,0,1,14], +"structstatistics.html#a945bd9df5efe2154f29b1f9852ba37b2":[1,0,1,4], +"structstatistics.html#a9b4254c4e7ef92b6075cbff92c3c8675":[1,0,1,8], +"structstatistics.html#a9f11405a45464e43d27881e622aacbdc":[1,0,1,12], +"structstatistics.html#acc09beea90f23b4626a6390883a540da":[1,0,1,11], +"structstatistics.html#acf1b3b78cc3e359c4ac3f7fbf3601f66":[1,0,1,13], +"structstatistics.html#ae2cc21ddf17618ae0657c052ee9a613e":[1,0,1,16], +"structstatistics.html#af79791d997ccd2903857b47db7299485":[1,0,1,15], "udp-redirect_8c.html":[2,0,0], -"udp-redirect_8c.html#a0ddf1224851353fc92bfbff6f499fa97":[2,0,0,8], -"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997":[2,0,0,7], -"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997a2458bd2178cc99bc6737bc528be5f61c":[2,0,0,7,0], -"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997a3849ab144f4ec0bc1433ce1ccfa389f4":[2,0,0,7,3], -"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997abef70e723b637a07777210af3cefc066":[2,0,0,7,2], -"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997ad190887353b0664ff091b83d6387aa9b":[2,0,0,7,1], -"udp-redirect_8c.html#a4979fa449090ea6181c2f0a91fe512e7":[2,0,0,6], -"udp-redirect_8c.html#a683d9394d63aedb7ea0eca78e619156e":[2,0,0,4], -"udp-redirect_8c.html#a795c40580eb8389eeb92c007ba8910a6":[2,0,0,9], -"udp-redirect_8c.html#a94965649155359a4c4eb047af782bf22":[2,0,0,12], -"udp-redirect_8c.html#a9998f145d5911cecdac6aa347ad08559":[2,0,0,5], -"udp-redirect_8c.html#ac1f6fbe3701c17626b9d9222002790a3":[2,0,0,1], -"udp-redirect_8c.html#ac55492e92f1e5fde0a623ffdf45671e9":[2,0,0,3], -"udp-redirect_8c.html#aca406131bb636c31134d300e0caae9b6":[2,0,0,10], -"udp-redirect_8c.html#acf2e4414e0bf0d331a111e70f9317434":[2,0,0,2], -"udp-redirect_8c.html#ae9a2954f00e12c29eff4ffd4e47f6d32":[2,0,0,11] +"udp-redirect_8c.html#a0ddf1224851353fc92bfbff6f499fa97":[2,0,0,10], +"udp-redirect_8c.html#a1526da1b7af27479ae345836547f3209":[2,0,0,8], +"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997":[2,0,0,9], +"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997a2458bd2178cc99bc6737bc528be5f61c":[2,0,0,9,0], +"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997a3849ab144f4ec0bc1433ce1ccfa389f4":[2,0,0,9,3], +"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997abef70e723b637a07777210af3cefc066":[2,0,0,9,2], +"udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997ad190887353b0664ff091b83d6387aa9b":[2,0,0,9,1], +"udp-redirect_8c.html#a4979fa449090ea6181c2f0a91fe512e7":[2,0,0,7], +"udp-redirect_8c.html#a683d9394d63aedb7ea0eca78e619156e":[2,0,0,5], +"udp-redirect_8c.html#a795c40580eb8389eeb92c007ba8910a6":[2,0,0,11], +"udp-redirect_8c.html#a94965649155359a4c4eb047af782bf22":[2,0,0,14], +"udp-redirect_8c.html#a9998f145d5911cecdac6aa347ad08559":[2,0,0,6], +"udp-redirect_8c.html#ac1f6fbe3701c17626b9d9222002790a3":[2,0,0,2], +"udp-redirect_8c.html#ac55492e92f1e5fde0a623ffdf45671e9":[2,0,0,4], +"udp-redirect_8c.html#aca406131bb636c31134d300e0caae9b6":[2,0,0,12], +"udp-redirect_8c.html#acf2e4414e0bf0d331a111e70f9317434":[2,0,0,3], +"udp-redirect_8c.html#ae9a2954f00e12c29eff4ffd4e47f6d32":[2,0,0,13] }; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index 1751429..73780d6 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -5,6 +5,22 @@ var searchData= ['command_20line_20arguments_2',['Command Line Arguments',['../md__r_e_a_d_m_e.html#autotoc_md5',1,'']]], ['compile_3',['Compile',['../md__r_e_a_d_m_e.html#autotoc_md2',1,'']]], ['connect_4',['Connect',['../md__r_e_a_d_m_e.html#autotoc_md8',1,'']]], - ['cport_5',['cport',['../structsettings.html#acdfde83a90fe7d0c4f621bf8b5d1dfae',1,'settings']]], - ['cstrict_6',['cstrict',['../structsettings.html#a25a47d5c10e0378d70f152a98f9f9583',1,'settings']]] + ['count_5fconnect_5fbyte_5freceive_5',['count_connect_byte_receive',['../structstatistics.html#a33abaabdae436bd0dc52c6a820623251',1,'statistics']]], + ['count_5fconnect_5fbyte_5freceive_5ftotal_6',['count_connect_byte_receive_total',['../structstatistics.html#a4a1dd86d0052626a601d370d9ab2db2f',1,'statistics']]], + ['count_5fconnect_5fbyte_5fsend_7',['count_connect_byte_send',['../structstatistics.html#a59073dd2be7174fcccfdfe9784f8308e',1,'statistics']]], + ['count_5fconnect_5fbyte_5fsend_5ftotal_8',['count_connect_byte_send_total',['../structstatistics.html#a2b6556c512c8025ce586519476d5f8da',1,'statistics']]], + ['count_5fconnect_5fpacket_5freceive_9',['count_connect_packet_receive',['../structstatistics.html#a945bd9df5efe2154f29b1f9852ba37b2',1,'statistics']]], + ['count_5fconnect_5fpacket_5freceive_5ftotal_10',['count_connect_packet_receive_total',['../structstatistics.html#a818b4570bdbd8a3fa34a607fb1df3c14',1,'statistics']]], + ['count_5fconnect_5fpacket_5fsend_11',['count_connect_packet_send',['../structstatistics.html#a274d4055e87d710427620886f2e300c2',1,'statistics']]], + ['count_5fconnect_5fpacket_5fsend_5ftotal_12',['count_connect_packet_send_total',['../structstatistics.html#a5d7215a717394dd57419deb5ecef5a35',1,'statistics']]], + ['count_5flisten_5fbyte_5freceive_13',['count_listen_byte_receive',['../structstatistics.html#a9b4254c4e7ef92b6075cbff92c3c8675',1,'statistics']]], + ['count_5flisten_5fbyte_5freceive_5ftotal_14',['count_listen_byte_receive_total',['../structstatistics.html#a16a371ae9d2bb454bb60b0b3625f67e7',1,'statistics']]], + ['count_5flisten_5fbyte_5fsend_15',['count_listen_byte_send',['../structstatistics.html#a6af52648eea5a101d1b11283f347e481',1,'statistics']]], + ['count_5flisten_5fbyte_5fsend_5ftotal_16',['count_listen_byte_send_total',['../structstatistics.html#acc09beea90f23b4626a6390883a540da',1,'statistics']]], + ['count_5flisten_5fpacket_5freceive_17',['count_listen_packet_receive',['../structstatistics.html#a9f11405a45464e43d27881e622aacbdc',1,'statistics']]], + ['count_5flisten_5fpacket_5freceive_5ftotal_18',['count_listen_packet_receive_total',['../structstatistics.html#acf1b3b78cc3e359c4ac3f7fbf3601f66',1,'statistics']]], + ['count_5flisten_5fpacket_5fsend_19',['count_listen_packet_send',['../structstatistics.html#a84a7fc8268450641d6298a2547064cd4',1,'statistics']]], + ['count_5flisten_5fpacket_5fsend_5ftotal_20',['count_listen_packet_send_total',['../structstatistics.html#af79791d997ccd2903857b47db7299485',1,'statistics']]], + ['cport_21',['cport',['../structsettings.html#acdfde83a90fe7d0c4f621bf8b5d1dfae',1,'settings']]], + ['cstrict_22',['cstrict',['../structsettings.html#a25a47d5c10e0378d70f152a98f9f9583',1,'settings']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 74fe99e..55af9bc 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -6,5 +6,8 @@ var searchData= ['settings_3',['settings',['../structsettings.html',1,'']]], ['sif_4',['sif',['../structsettings.html#aca05989209d3cb086986065afacf88b6',1,'settings']]], ['socket_5fsetup_5',['socket_setup',['../udp-redirect_8c.html#aca406131bb636c31134d300e0caae9b6',1,'udp-redirect.c']]], - ['sport_6',['sport',['../structsettings.html#a6144aeafdfb423cabed5f69eb96eb300',1,'settings']]] + ['sport_6',['sport',['../structsettings.html#a6144aeafdfb423cabed5f69eb96eb300',1,'settings']]], + ['statistics_7',['statistics',['../structstatistics.html',1,'']]], + ['stats_8',['stats',['../structsettings.html#a75f657baf41d582a2481708f1e89e135',1,'settings']]], + ['stats_5fdelay_5fseconds_9',['STATS_DELAY_SECONDS',['../udp-redirect_8c.html#a1526da1b7af27479ae345836547f3209',1,'udp-redirect.c']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 6cc0ab9..e9f09f6 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,6 +1,5 @@ var searchData= [ - ['udp_20redirect_0',['udp-redirect',['../md__r_e_a_d_m_e.html',1,'']]], - ['udp_2dredirect_2ec_1',['udp-redirect.c',['../udp-redirect_8c.html',1,'']]], - ['usage_2',['usage',['../udp-redirect_8c.html#ae9a2954f00e12c29eff4ffd4e47f6d32',1,'udp-redirect.c']]] + ['time_5fdisplay_5ffirst_0',['time_display_first',['../structstatistics.html#ae2cc21ddf17618ae0657c052ee9a613e',1,'statistics']]], + ['time_5fdisplay_5flast_1',['time_display_last',['../structstatistics.html#a2a0680c786a86eaa1f0f431c3a900821',1,'statistics']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js new file mode 100644 index 0000000..6cc0ab9 --- /dev/null +++ b/docs/search/all_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['udp_20redirect_0',['udp-redirect',['../md__r_e_a_d_m_e.html',1,'']]], + ['udp_2dredirect_2ec_1',['udp-redirect.c',['../udp-redirect_8c.html',1,'']]], + ['usage_2',['usage',['../udp-redirect_8c.html#ae9a2954f00e12c29eff4ffd4e47f6d32',1,'udp-redirect.c']]] +]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 917f36f..c3b2191 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,4 +1,5 @@ var searchData= [ - ['settings_0',['settings',['../structsettings.html',1,'']]] + ['settings_0',['settings',['../structsettings.html',1,'']]], + ['statistics_1',['statistics',['../structstatistics.html',1,'']]] ]; diff --git a/docs/search/defines_4.js b/docs/search/defines_4.js new file mode 100644 index 0000000..329bc2c --- /dev/null +++ b/docs/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['stats_5fdelay_5fseconds_0',['STATS_DELAY_SECONDS',['../udp-redirect_8c.html#a1526da1b7af27479ae345836547f3209',1,'udp-redirect.c']]] +]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index 5830851..26e7629 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,13 +1,13 @@ var indexSectionsWithContent = { - 0: "acdelmnrsu", + 0: "acdelmnrstu", 1: "s", 2: "ru", 3: "mrsu", - 4: "cels", + 4: "celst", 5: "d", 6: "d", - 7: "demn", + 7: "demns", 8: "ru" }; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index baf43d7..a59e316 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -2,6 +2,22 @@ var searchData= [ ['caddr_0',['caddr',['../structsettings.html#a78c27be07aaf3a77d88016bc4d4406e1',1,'settings']]], ['chost_1',['chost',['../structsettings.html#ad19d72d81de785bc796800503cda86a6',1,'settings']]], - ['cport_2',['cport',['../structsettings.html#acdfde83a90fe7d0c4f621bf8b5d1dfae',1,'settings']]], - ['cstrict_3',['cstrict',['../structsettings.html#a25a47d5c10e0378d70f152a98f9f9583',1,'settings']]] + ['count_5fconnect_5fbyte_5freceive_2',['count_connect_byte_receive',['../structstatistics.html#a33abaabdae436bd0dc52c6a820623251',1,'statistics']]], + ['count_5fconnect_5fbyte_5freceive_5ftotal_3',['count_connect_byte_receive_total',['../structstatistics.html#a4a1dd86d0052626a601d370d9ab2db2f',1,'statistics']]], + ['count_5fconnect_5fbyte_5fsend_4',['count_connect_byte_send',['../structstatistics.html#a59073dd2be7174fcccfdfe9784f8308e',1,'statistics']]], + ['count_5fconnect_5fbyte_5fsend_5ftotal_5',['count_connect_byte_send_total',['../structstatistics.html#a2b6556c512c8025ce586519476d5f8da',1,'statistics']]], + ['count_5fconnect_5fpacket_5freceive_6',['count_connect_packet_receive',['../structstatistics.html#a945bd9df5efe2154f29b1f9852ba37b2',1,'statistics']]], + ['count_5fconnect_5fpacket_5freceive_5ftotal_7',['count_connect_packet_receive_total',['../structstatistics.html#a818b4570bdbd8a3fa34a607fb1df3c14',1,'statistics']]], + ['count_5fconnect_5fpacket_5fsend_8',['count_connect_packet_send',['../structstatistics.html#a274d4055e87d710427620886f2e300c2',1,'statistics']]], + ['count_5fconnect_5fpacket_5fsend_5ftotal_9',['count_connect_packet_send_total',['../structstatistics.html#a5d7215a717394dd57419deb5ecef5a35',1,'statistics']]], + ['count_5flisten_5fbyte_5freceive_10',['count_listen_byte_receive',['../structstatistics.html#a9b4254c4e7ef92b6075cbff92c3c8675',1,'statistics']]], + ['count_5flisten_5fbyte_5freceive_5ftotal_11',['count_listen_byte_receive_total',['../structstatistics.html#a16a371ae9d2bb454bb60b0b3625f67e7',1,'statistics']]], + ['count_5flisten_5fbyte_5fsend_12',['count_listen_byte_send',['../structstatistics.html#a6af52648eea5a101d1b11283f347e481',1,'statistics']]], + ['count_5flisten_5fbyte_5fsend_5ftotal_13',['count_listen_byte_send_total',['../structstatistics.html#acc09beea90f23b4626a6390883a540da',1,'statistics']]], + ['count_5flisten_5fpacket_5freceive_14',['count_listen_packet_receive',['../structstatistics.html#a9f11405a45464e43d27881e622aacbdc',1,'statistics']]], + ['count_5flisten_5fpacket_5freceive_5ftotal_15',['count_listen_packet_receive_total',['../structstatistics.html#acf1b3b78cc3e359c4ac3f7fbf3601f66',1,'statistics']]], + ['count_5flisten_5fpacket_5fsend_16',['count_listen_packet_send',['../structstatistics.html#a84a7fc8268450641d6298a2547064cd4',1,'statistics']]], + ['count_5flisten_5fpacket_5fsend_5ftotal_17',['count_listen_packet_send_total',['../structstatistics.html#af79791d997ccd2903857b47db7299485',1,'statistics']]], + ['cport_18',['cport',['../structsettings.html#acdfde83a90fe7d0c4f621bf8b5d1dfae',1,'settings']]], + ['cstrict_19',['cstrict',['../structsettings.html#a25a47d5c10e0378d70f152a98f9f9583',1,'settings']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index 63c7744..139c4ba 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -2,5 +2,6 @@ var searchData= [ ['saddr_0',['saddr',['../structsettings.html#ab0ae900aaaa17fc9a66df172ee8ae102',1,'settings']]], ['sif_1',['sif',['../structsettings.html#aca05989209d3cb086986065afacf88b6',1,'settings']]], - ['sport_2',['sport',['../structsettings.html#a6144aeafdfb423cabed5f69eb96eb300',1,'settings']]] + ['sport_2',['sport',['../structsettings.html#a6144aeafdfb423cabed5f69eb96eb300',1,'settings']]], + ['stats_3',['stats',['../structsettings.html#a75f657baf41d582a2481708f1e89e135',1,'settings']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js new file mode 100644 index 0000000..e9f09f6 --- /dev/null +++ b/docs/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['time_5fdisplay_5ffirst_0',['time_display_first',['../structstatistics.html#ae2cc21ddf17618ae0657c052ee9a613e',1,'statistics']]], + ['time_5fdisplay_5flast_1',['time_display_last',['../structstatistics.html#a2a0680c786a86eaa1f0f431c3a900821',1,'statistics']]] +]; diff --git a/docs/structsettings-members.html b/docs/structsettings-members.html index 4c08c35..6f98cfa 100644 --- a/docs/structsettings-members.html +++ b/docs/structsettings-members.html @@ -109,6 +109,7 @@ saddrsettings sifsettings sportsettings + statssettings diff --git a/docs/structsettings.html b/docs/structsettings.html index 49b6732..6cecc17 100644 --- a/docs/structsettings.html +++ b/docs/structsettings.html @@ -139,6 +139,8 @@   int eignore   +int stats

    Detailed Description

    Store command line option values in one place.

    @@ -363,6 +365,20 @@

    +

    ◆ stats

    + +
    +
    + + + + +
    int settings::stats
    +
    +

    The documentation for this struct was generated from the following file:
      diff --git a/docs/structsettings.js b/docs/structsettings.js index 9cec51a..937202b 100644 --- a/docs/structsettings.js +++ b/docs/structsettings.js @@ -13,5 +13,6 @@ var structsettings = [ "lstrict", "structsettings.html#a0e6d5fa4db99610a8f5c302197df2f72", null ], [ "saddr", "structsettings.html#ab0ae900aaaa17fc9a66df172ee8ae102", null ], [ "sif", "structsettings.html#aca05989209d3cb086986065afacf88b6", null ], - [ "sport", "structsettings.html#a6144aeafdfb423cabed5f69eb96eb300", null ] + [ "sport", "structsettings.html#a6144aeafdfb423cabed5f69eb96eb300", null ], + [ "stats", "structsettings.html#a75f657baf41d582a2481708f1e89e135", null ] ]; \ No newline at end of file diff --git a/docs/structstatistics-members.html b/docs/structstatistics-members.html new file mode 100644 index 0000000..ed5ee05 --- /dev/null +++ b/docs/structstatistics-members.html @@ -0,0 +1,125 @@ + + + + + + + +UDP Redirect: Member List + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      UDP Redirect +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + + + + + + diff --git a/docs/structstatistics.html b/docs/structstatistics.html new file mode 100644 index 0000000..63284a5 --- /dev/null +++ b/docs/structstatistics.html @@ -0,0 +1,406 @@ + + + + + + + +UDP Redirect: statistics Struct Reference + + + + + + + + + + + + + +
      +
      + + + + + + +
      +
      UDP Redirect +
      +
      +
      + + + + + + + +
      +
      + +
      +
      +
      + +
      + +
      +
      + + +
      +
      +
      +
      +
      +
      Loading...
      +
      Searching...
      +
      No Matches
      +
      +
      +
      +
      + +
      + +
      statistics Struct Reference
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

      +Public Attributes

      time_t time_display_last
       
      time_t time_display_first
       
      unsigned long count_listen_packet_receive
       
      unsigned long count_listen_byte_receive
       
      unsigned long count_listen_packet_send
       
      unsigned long count_listen_byte_send
       
      unsigned long count_connect_packet_receive
       
      unsigned long count_connect_byte_receive
       
      unsigned long count_connect_packet_send
       
      unsigned long count_connect_byte_send
       
      unsigned long count_listen_packet_receive_total
       
      unsigned long count_listen_byte_receive_total
       
      unsigned long count_listen_packet_send_total
       
      unsigned long count_listen_byte_send_total
       
      unsigned long count_connect_packet_receive_total
       
      unsigned long count_connect_byte_receive_total
       
      unsigned long count_connect_packet_send_total
       
      unsigned long count_connect_byte_send_total
       
      +

      Detailed Description

      +

      Record and display stats

      +

      Member Data Documentation

      + +

      ◆ count_connect_byte_receive

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_byte_receive
      +
      + +
      +
      + +

      ◆ count_connect_byte_receive_total

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_byte_receive_total
      +
      + +
      +
      + +

      ◆ count_connect_byte_send

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_byte_send
      +
      + +
      +
      + +

      ◆ count_connect_byte_send_total

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_byte_send_total
      +
      + +
      +
      + +

      ◆ count_connect_packet_receive

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_packet_receive
      +
      + +
      +
      + +

      ◆ count_connect_packet_receive_total

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_packet_receive_total
      +
      + +
      +
      + +

      ◆ count_connect_packet_send

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_packet_send
      +
      + +
      +
      + +

      ◆ count_connect_packet_send_total

      + +
      +
      + + + + +
      unsigned long statistics::count_connect_packet_send_total
      +
      + +
      +
      + +

      ◆ count_listen_byte_receive

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_byte_receive
      +
      + +
      +
      + +

      ◆ count_listen_byte_receive_total

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_byte_receive_total
      +
      + +
      +
      + +

      ◆ count_listen_byte_send

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_byte_send
      +
      + +
      +
      + +

      ◆ count_listen_byte_send_total

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_byte_send_total
      +
      + +
      +
      + +

      ◆ count_listen_packet_receive

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_packet_receive
      +
      + +
      +
      + +

      ◆ count_listen_packet_receive_total

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_packet_receive_total
      +
      + +
      +
      + +

      ◆ count_listen_packet_send

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_packet_send
      +
      + +
      +
      + +

      ◆ count_listen_packet_send_total

      + +
      +
      + + + + +
      unsigned long statistics::count_listen_packet_send_total
      +
      + +
      +
      + +

      ◆ time_display_first

      + +
      +
      + + + + +
      time_t statistics::time_display_first
      +
      + +
      +
      + +

      ◆ time_display_last

      + +
      +
      + + + + +
      time_t statistics::time_display_last
      +
      + +
      +
      +
      The documentation for this struct was generated from the following file: +
      +
      + + + + diff --git a/docs/structstatistics.js b/docs/structstatistics.js new file mode 100644 index 0000000..253b727 --- /dev/null +++ b/docs/structstatistics.js @@ -0,0 +1,21 @@ +var structstatistics = +[ + [ "count_connect_byte_receive", "structstatistics.html#a33abaabdae436bd0dc52c6a820623251", null ], + [ "count_connect_byte_receive_total", "structstatistics.html#a4a1dd86d0052626a601d370d9ab2db2f", null ], + [ "count_connect_byte_send", "structstatistics.html#a59073dd2be7174fcccfdfe9784f8308e", null ], + [ "count_connect_byte_send_total", "structstatistics.html#a2b6556c512c8025ce586519476d5f8da", null ], + [ "count_connect_packet_receive", "structstatistics.html#a945bd9df5efe2154f29b1f9852ba37b2", null ], + [ "count_connect_packet_receive_total", "structstatistics.html#a818b4570bdbd8a3fa34a607fb1df3c14", null ], + [ "count_connect_packet_send", "structstatistics.html#a274d4055e87d710427620886f2e300c2", null ], + [ "count_connect_packet_send_total", "structstatistics.html#a5d7215a717394dd57419deb5ecef5a35", null ], + [ "count_listen_byte_receive", "structstatistics.html#a9b4254c4e7ef92b6075cbff92c3c8675", null ], + [ "count_listen_byte_receive_total", "structstatistics.html#a16a371ae9d2bb454bb60b0b3625f67e7", null ], + [ "count_listen_byte_send", "structstatistics.html#a6af52648eea5a101d1b11283f347e481", null ], + [ "count_listen_byte_send_total", "structstatistics.html#acc09beea90f23b4626a6390883a540da", null ], + [ "count_listen_packet_receive", "structstatistics.html#a9f11405a45464e43d27881e622aacbdc", null ], + [ "count_listen_packet_receive_total", "structstatistics.html#acf1b3b78cc3e359c4ac3f7fbf3601f66", null ], + [ "count_listen_packet_send", "structstatistics.html#a84a7fc8268450641d6298a2547064cd4", null ], + [ "count_listen_packet_send_total", "structstatistics.html#af79791d997ccd2903857b47db7299485", null ], + [ "time_display_first", "structstatistics.html#ae2cc21ddf17618ae0657c052ee9a613e", null ], + [ "time_display_last", "structstatistics.html#a2a0680c786a86eaa1f0f431c3a900821", null ] +]; \ No newline at end of file diff --git a/docs/udp-redirect_8c.html b/docs/udp-redirect_8c.html index bad351e..f10830c 100644 --- a/docs/udp-redirect_8c.html +++ b/docs/udp-redirect_8c.html @@ -153,6 +153,8 @@ Classes

    struct  settings   +struct  statistics +  @@ -160,6 +162,8 @@ + + @@ -239,8 +243,8 @@

    Value:
    do { \
    if ((debug_level) >= (lvl)) { \
    -
    fprintf(stderr, "%s:%d:%s(): " fmt "\n", __FILE__, \
    -
    __LINE__, __func__, ##__VA_ARGS__); \
    +
    fprintf(stderr, "%s:%d:%d:%s(): " fmt "\n", __FILE__, \
    +
    __LINE__, (int)(time(NULL)), __func__, ##__VA_ARGS__); \
    } \
    } while (0)

    Standard debug macro requiring a locally defined debug level. Adapted from the excellent https://github.com/jleffler/soq/blob/master/src/libsoq/debug.h

    @@ -350,6 +354,21 @@

    The size of the network buffer used for receiving / sending packets

    + + +
    +

    ◆ STATS_DELAY_SECONDS

    + +
    +
    +

    Macros

     
    #define NETWORK_BUFFER_SIZE   65535
     
    #define STATS_DELAY_SECONDS   60
     
    #define EOK   0
     Readability: errno value for OK.
     
    + + + +
    #define STATS_DELAY_SECONDS   60
    +
    +

    The delay in seconds between displaying statistics

    +

    Enumeration Type Documentation

    @@ -653,6 +672,8 @@

    { "ignore-errors", no_argument, NULL, 'r' },
    { "stop-errors", no_argument, NULL, 's' },
    +
    { "stats", no_argument, NULL, 'q' },
    +
    { NULL, 0, NULL, 0 }
    }

    Command line options.

    diff --git a/docs/udp-redirect_8c.js b/docs/udp-redirect_8c.js index 86207ac..45675a4 100644 --- a/docs/udp-redirect_8c.js +++ b/docs/udp-redirect_8c.js @@ -1,12 +1,14 @@ var udp_redirect_8c = [ [ "settings", "structsettings.html", "structsettings" ], + [ "statistics", "structstatistics.html", "structstatistics" ], [ "DEBUG", "udp-redirect_8c.html#ac1f6fbe3701c17626b9d9222002790a3", null ], [ "EOK", "udp-redirect_8c.html#acf2e4414e0bf0d331a111e70f9317434", null ], [ "ERRNO_IGNORE_CHECK", "udp-redirect_8c.html#ac55492e92f1e5fde0a623ffdf45671e9", null ], [ "ERRNO_IGNORE_SET", "udp-redirect_8c.html#a683d9394d63aedb7ea0eca78e619156e", null ], [ "MAX_ERRNO", "udp-redirect_8c.html#a9998f145d5911cecdac6aa347ad08559", null ], [ "NETWORK_BUFFER_SIZE", "udp-redirect_8c.html#a4979fa449090ea6181c2f0a91fe512e7", null ], + [ "STATS_DELAY_SECONDS", "udp-redirect_8c.html#a1526da1b7af27479ae345836547f3209", null ], [ "DEBUG_LEVEL", "udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997", [ [ "DEBUG_LEVEL_ERROR", "udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997a2458bd2178cc99bc6737bc528be5f61c", null ], [ "DEBUG_LEVEL_INFO", "udp-redirect_8c.html#a1abe4a502b5a81ac9d4fc4ca3548b997ad190887353b0664ff091b83d6387aa9b", null ],