aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorDavid M. Syzdek <david.syzdek@acsalaska.com>2020-02-10 12:46:37 -0900
committerDavid M. Syzdek <david.syzdek@acsalaska.com>2020-02-10 12:46:37 -0900
commitf83640705731dbc6f576abfdd7519384aaaaa583 (patch)
tree593b551e3697ad5b540e60d5c03b9e3d46677c1e /src
parent94f676d590baa0d72ec99674d33f15314385d385 (diff)
downloadakcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.gz
akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.bz2
akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.tar.xz
akcom-udpecho-f83640705731dbc6f576abfdd7519384aaaaa583.zip
akcom-udpechod: replacing udpecho struct member with static variable
Diffstat (limited to 'src')
-rw-r--r--src/akcom-udpechod.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/akcom-udpechod.c b/src/akcom-udpechod.c
index bb90c7d..44de4e6 100644
--- a/src/akcom-udpechod.c
+++ b/src/akcom-udpechod.c
@@ -148,7 +148,6 @@ static int should_stop = 0;
148 148
149struct app_config 149struct app_config
150{ 150{
151 uint16_t echoplus; // enable echo plus
152 int drop_perct; // drop percentage 151 int drop_perct; // drop percentage
153 useconds_t delay; // Delay range in microseconds 152 useconds_t delay; // Delay range in microseconds
154 int32_t verbose; // runtime verbosity 153 int32_t verbose; // runtime verbosity
@@ -160,7 +159,6 @@ struct app_config
160}; 159};
161static struct app_config cnf = 160static struct app_config cnf =
162{ 161{
163 .echoplus = 0,
164 .drop_perct = 0, 162 .drop_perct = 0,
165 .delay = 0, 163 .delay = 0,
166 .verbose = 0, 164 .verbose = 0,
@@ -173,6 +171,7 @@ static struct app_config cnf =
173static const char * prog_name = "a.out"; 171static const char * prog_name = "a.out";
174static const char * cnf_pidfile = "/var/run/" PROGRAM_NAME ".pid"; 172static const char * cnf_pidfile = "/var/run/" PROGRAM_NAME ".pid";
175static uint16_t cnf_port = 30006; 173static uint16_t cnf_port = 30006;
174static int cnf_echoplus = 0;
176 175
177 176
178////////////////// 177//////////////////
@@ -282,7 +281,7 @@ int main(int argc, char * argv[])
282 break; 281 break;
283 282
284 case 'e': 283 case 'e':
285 cnf.echoplus = 1; 284 cnf_echoplus = 1;
286 break; 285 break;
287 286
288 case 'f': 287 case 'f':
@@ -344,7 +343,7 @@ int main(int argc, char * argv[])
344 break; 343 break;
345 344
346 case 'r': 345 case 'r':
347 cnf.echoplus = 0; 346 cnf_echoplus = 0;
348 break; 347 break;
349 348
350 case 'u': 349 case 'u':
@@ -681,7 +680,7 @@ int my_daemonize(void)
681 // opens syslog 680 // opens syslog
682 openlog(prog_name, LOG_PID | (((cnf.dont_fork)) ? LOG_PERROR : 0), cnf.facility); 681 openlog(prog_name, LOG_PID | (((cnf.dont_fork)) ? LOG_PERROR : 0), cnf.facility);
683 syslog(LOG_NOTICE, "%s v%s", PROGRAM_NAME, PACKAGE_VERSION); 682 syslog(LOG_NOTICE, "%s v%s", PROGRAM_NAME, PACKAGE_VERSION);
684 syslog(LOG_NOTICE, "echo plus enabled: %s", ((cnf.echoplus)) ? "yes" : "no"); 683 syslog(LOG_NOTICE, "echo plus enabled: %s", ((cnf_echoplus)) ? "yes" : "no");
685 syslog(LOG_NOTICE, "random delay: %u us", cnf.delay); 684 syslog(LOG_NOTICE, "random delay: %u us", cnf.delay);
686 syslog(LOG_NOTICE, "drop probability: %u%%", cnf.drop_perct); 685 syslog(LOG_NOTICE, "drop probability: %u%%", cnf.drop_perct);
687 syslog(LOG_NOTICE, "running as UID: %u", getuid()); 686 syslog(LOG_NOTICE, "running as UID: %u", getuid());
@@ -766,7 +765,7 @@ int my_log_conn(int mode, size_t * connp, union my_sa * sap,
766 }; 765 };
767 766
768 // log connection 767 // log connection
769 if ((cnf.echoplus)) 768 if ((cnf_echoplus))
770 { 769 {
771 syslog(LOG_INFO, 770 syslog(LOG_INFO,
772 "conn %zu: client: [%s]:%hu; %s bytes: %zi; timestamp: %lu.%09lu; seq: %u; delta: %u us; delay: %u us;", 771 "conn %zu: client: [%s]:%hu; %s bytes: %zi; timestamp: %lu.%09lu; seq: %u; delta: %u us; delay: %u us;",
@@ -849,7 +848,7 @@ int my_loop(int s, size_t * connp)
849 my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0); 848 my_log_conn(MY_RECV, connp, &sa, &udpbuff.msg, ssize, &ts, 0);
850 849
851 // process echo+ packet 850 // process echo+ packet
852 if ((cnf.echoplus)) 851 if ((cnf_echoplus))
853 { 852 {
854 syslog(LOG_DEBUG, "conn %zu: intializing echo plus header", *connp); 853 syslog(LOG_DEBUG, "conn %zu: intializing echo plus header", *connp);
855 udpbuff.msg.res_sn = udpbuff.msg.req_sn; 854 udpbuff.msg.res_sn = udpbuff.msg.req_sn;
@@ -884,7 +883,7 @@ int my_loop(int s, size_t * connp)
884 us += (uint64_t)ts.tv_nsec / 1000; 883 us += (uint64_t)ts.tv_nsec / 1000;
885 884
886 // send response 885 // send response
887 if ((cnf.echoplus)) 886 if ((cnf_echoplus))
888 { 887 {
889 syslog(LOG_DEBUG, "conn %zu: updating echo plus header", *connp); 888 syslog(LOG_DEBUG, "conn %zu: updating echo plus header", *connp);
890 udpbuff.msg.reply_time = htonl(us & 0xFFFFFFFFLL); 889 udpbuff.msg.reply_time = htonl(us & 0xFFFFFFFFLL);
@@ -914,7 +913,7 @@ void my_usage(void)
914 printf("OPTIONS:\n"); 913 printf("OPTIONS:\n");
915 printf(" -d num, --drop=num set packet drop probability [0-99] (default: %u)\n", cnf.drop_perct); 914 printf(" -d num, --drop=num set packet drop probability [0-99] (default: %u)\n", cnf.drop_perct);
916 printf(" -D usec, --delay=usec set echo delay range to microseconds (default: %u us)\n", cnf.delay); 915 printf(" -D usec, --delay=usec set echo delay range to microseconds (default: %u us)\n", cnf.delay);
917 printf(" -e, --echoplus enable echo plus, not RFC compliant%s\n", ((cnf.echoplus)) ? " (default)" : ""); 916 printf(" -e, --echoplus enable echo plus, not RFC compliant%s\n", ((cnf_echoplus)) ? " (default)" : "");
918 printf(" -f str, --facility=str set syslog facility (default: daemon)\n"); 917 printf(" -f str, --facility=str set syslog facility (default: daemon)\n");
919 printf(" -g gid, --group=gid setgid to gid (default: none)\n"); 918 printf(" -g gid, --group=gid setgid to gid (default: none)\n");
920 printf(" -h, --help print this help and exit\n"); 919 printf(" -h, --help print this help and exit\n");
@@ -922,7 +921,7 @@ void my_usage(void)
922 printf(" -n, --foreground do not fork\n"); 921 printf(" -n, --foreground do not fork\n");
923 printf(" -p port, --port=port list on port number (default: %u)\n", cnf_port); 922 printf(" -p port, --port=port list on port number (default: %u)\n", cnf_port);
924 printf(" -P file, --pidfile=file PID file (default: %s)\n", cnf_pidfile); 923 printf(" -P file, --pidfile=file PID file (default: %s)\n", cnf_pidfile);
925 printf(" -r, --rfc RFC compliant echo protocol%s\n", (!(cnf.echoplus)) ? " (default)" : ""); 924 printf(" -r, --rfc RFC compliant echo protocol%s\n", (!(cnf_echoplus)) ? " (default)" : "");
926 printf(" -u uid, --user=uid setuid to uid (default: none)\n"); 925 printf(" -u uid, --user=uid setuid to uid (default: none)\n");
927 printf(" -v, --verbose enable verbose output\n"); 926 printf(" -v, --verbose enable verbose output\n");
928 printf(" -V, --version print version number and exit\n"); 927 printf(" -V, --version print version number and exit\n");