]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
get rid of a few socket address/interface length fields master refactor
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Thu, 5 Dec 2024 16:45:40 +0000 (22:15 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Thu, 5 Dec 2024 16:45:40 +0000 (22:15 +0530)
These can be easily calculated at runtime with sizeof, so no need to
store them upfront.

Makefile
discovered.h
new_protocol.c
new_protocol_programmer.c
old_protocol.c
p1_discovery.c
p2_discovery.c

index adb079adbea0043fbb37fde9c4e8e2686a835f42..9c74803fae39ba7055d7cfe61632b7ea763995e4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ $(PROGRAM):  $(OBJS) $(AUDIO_OBJS) $(REMOTE_OBJS) $(USBOZY_OBJS) \
                $(MIDI_OBJS) $(SERVER_OBJS) $(LIBS)
 
 .PHONY:        all
-all:   $(PROGRAM) $(HEADERS) $(AUDIO_HEADERS) $(USBOZY_HEADERS) \
+all:   $(PROGRAM) hpsdrsim $(HEADERS) $(AUDIO_HEADERS) $(USBOZY_HEADERS) \
        $(LOCALCW_HEADERS) \
        $(PURESIGNAL_HEADERS) $(MIDI_HEADERS) $(SERVER_HEADERS) \
        $(AUDIO_SOURCES) $(SRC) \
index 47623a743067704a2bb3455d78cf4b20a2f424f7..fe2308e383ee9e6a89088987317b2840d7aec857 100644 (file)
@@ -71,9 +71,7 @@ struct _DISCOVERED {
     double frequency_max;
     struct network {
         unsigned char mac_address[6];
-        // int address_length;
         struct sockaddr_in address;
-        int interface_length;
         struct sockaddr_in interface_address;
         struct sockaddr_in interface_netmask;
         char interface_name[64];
index d3018a2c5fe318125e697db55ec3575871576689..a8d71c5525b023491c44c7ff9c514fd8758039ea 100644 (file)
 #include "audio.h"
 #include "band.h"
 #include "new_protocol.h"
-#include "channel.h"
 #include "discovered.h"
 #include "mode.h"
-#include "filter.h"
 #include "radio.h"
 #include "receiver.h"
 #include "transmitter.h"
 #include "signal.h"
 #include "vfo.h"
-#include "toolbar.h"
 #include "vox.h"
 #include "ext.h"
 #include "iambic.h"
@@ -503,50 +500,50 @@ void new_protocol_init(int pixels) {
     setsockopt(data_socket, SOL_SOCKET, SO_REUSEPORT, &optval, sizeof(optval));
 
     // bind to the interface
-    if(bind(data_socket,(struct sockaddr*)&radio->network.interface_address,radio->network.interface_length)<0) {
+    if(bind(data_socket,(struct sockaddr*)&radio->network.interface_address,sizeof(radio->network.interface_address))<0) {
         g_print("metis: bind socket failed for data_socket\n");
         exit(-1);
     }
 
-g_print("new_protocol_init: data_socket %d bound to interface %s:%d\n",data_socket,inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
+    g_print("new_protocol_init: data_socket %d bound to interface %s:%d\n",data_socket,inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
 
-    memcpy(&base_addr,&radio->network.address,radio->network.address_length);
-    base_addr_length=radio->network.address_length;
+    memcpy(&base_addr,&radio->network.address,sizeof(radio->network.address));
+    base_addr_length = sizeof(radio->network.address);
     base_addr.sin_port=htons(GENERAL_REGISTERS_FROM_HOST_PORT);
 
 //g_print("base_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
-    memcpy(&receiver_addr,&radio->network.address,radio->network.address_length);
-    receiver_addr_length=radio->network.address_length;
+    memcpy(&receiver_addr,&radio->network.address,sizeof(radio->network.address));
+    receiver_addr_length=sizeof(radio->network.address);
     receiver_addr.sin_port=htons(RECEIVER_SPECIFIC_REGISTERS_FROM_HOST_PORT);
 //g_print("receive_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
-    memcpy(&transmitter_addr,&radio->network.address,radio->network.address_length);
-    transmitter_addr_length=radio->network.address_length;
+    memcpy(&transmitter_addr,&radio->network.address,sizeof(radio->network.address));
+    transmitter_addr_length=sizeof(radio->network.address);
     transmitter_addr.sin_port=htons(TRANSMITTER_SPECIFIC_REGISTERS_FROM_HOST_PORT);
 //g_print("transmit_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
-    memcpy(&high_priority_addr,&radio->network.address,radio->network.address_length);
-    high_priority_addr_length=radio->network.address_length;
+    memcpy(&high_priority_addr,&radio->network.address,sizeof(radio->network.address));
+    high_priority_addr_length=sizeof(radio->network.address);
     high_priority_addr.sin_port=htons(HIGH_PRIORITY_FROM_HOST_PORT);
 //g_print("high_priority_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
 //g_print("new_protocol_thread: high_priority_addr setup for port %d\n",HIGH_PRIORITY_FROM_HOST_PORT);
 
-    memcpy(&audio_addr,&radio->network.address,radio->network.address_length);
-    audio_addr_length=radio->network.address_length;
+    memcpy(&audio_addr,&radio->network.address,sizeof(radio->network.address));
+    audio_addr_length=sizeof(radio->network.address);
     audio_addr.sin_port=htons(AUDIO_FROM_HOST_PORT);
 //g_print("audio_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
-    memcpy(&iq_addr,&radio->network.address,radio->network.address_length);
-    iq_addr_length=radio->network.address_length;
+    memcpy(&iq_addr,&radio->network.address,sizeof(radio->network.address));
+    iq_addr_length=sizeof(radio->network.address);
     iq_addr.sin_port=htons(TX_IQ_FROM_HOST_PORT);
 //g_print("iq_addr=%s\n",inet_ntoa(radio->network.address.sin_addr));
 
 
     for(i=0;i<MAX_DDC;i++) {
-        memcpy(&data_addr[i],&radio->network.address,radio->network.address_length);
-        data_addr_length[i]=radio->network.address_length;
+        memcpy(&data_addr[i],&radio->network.address,sizeof(radio->network.address));
+        data_addr_length[i]=sizeof(radio->network.address);
         data_addr[i].sin_port=htons(RX_IQ_TO_HOST_PORT_0+i);
     }
 
index c898b8526baf8bae55abea46807b38f832d19fd2..6f7630e10c0cba50177fe95533e5fc5c43e90f41 100644 (file)
@@ -66,8 +66,8 @@ void new_protocol_programmer(char *filename ) {
 
     DISCOVERED* d=&discovered[selected_device];
 
-    memcpy(&program_addr,&d->network.address,d->network.address_length);
-    program_addr_length=d->network.address_length;
+    memcpy(&program_addr,&d->network.address,sizeof(d->network.address));
+    program_addr_length=sizeof(d->network.address);
     program_addr.sin_port=htons(PROGRAMMING_FROM_HOST_PORT);
 
     FILE *fp;
index 5de8d96d051f5290920b31d212e8cc8733260bb3..353527a6f233a11c14bdfae0645127c44581956c 100644 (file)
@@ -405,12 +405,12 @@ static void open_udp_socket() {
 
     // bind to the interface
     log_trace("binding UDP socket to %s:%d\n",inet_ntoa(radio->network.interface_address.sin_addr),ntohs(radio->network.interface_address.sin_port));
-    if(bind(tmp,(struct sockaddr*)&radio->network.interface_address,radio->network.interface_length)<0) {
+    if(bind(tmp,(struct sockaddr*)&radio->network.interface_address,sizeof(radio->network.interface_address))<0) {
        log_error("old_protocol: bind socket failed for data_socket: %s", strerror(errno));
        exit(-1);
     }
 
-    memcpy(&data_addr,&radio->network.address,radio->network.address_length);
+    memcpy(&data_addr,&radio->network.address,sizeof(radio->network.address));
     data_addr.sin_port=htons(DATA_PORT);
     data_socket=tmp;
     log_trace("%s: UDP socket established: %d for %s:%d",__FUNCTION__,data_socket,inet_ntoa(data_addr.sin_addr),ntohs(data_addr.sin_port));
@@ -425,7 +425,7 @@ static void open_tcp_socket() {
       usleep(100000);
       close(tmp);
     }
-    memcpy(&data_addr,&radio->network.address,radio->network.address_length);
+    memcpy(&data_addr,&radio->network.address,sizeof(radio->network.address));
     data_addr.sin_port=htons(DATA_PORT);
     data_addr.sin_family = AF_INET;
     log_trace("Trying to open TCP connection to %s", inet_ntoa(radio->network.address.sin_addr));
index 933ad739351776fc3c15444194680e2a5ef7f6f6..cc467ae82ffb1779c9f89e4e245dd6fc5691ce98 100644 (file)
@@ -248,12 +248,10 @@ static void discover(struct ifaddrs *iface) {
             //
             memcpy((void *)&discovered[rc].network.address,
                    (void *)&to_addr, sizeof(to_addr));
-            // discovered[rc].network.address_length = sizeof(to_addr);
             memcpy((void *)&discovered[rc].network.interface_address,
                    (void *)&to_addr, sizeof(to_addr));
             memcpy((void *)&discovered[rc].network.interface_netmask,
                    (void *)&to_addr, sizeof(to_addr));
-            discovered[rc].network.interface_length = sizeof(to_addr);
             strcpy(discovered[rc].network.interface_name, "TCP");
             discovered[rc].use_tcp = 1;
         }
@@ -369,8 +367,6 @@ static gpointer discover_receive_thread(gpointer data) {
                     discovered[devices].status = status;
                     memcpy((void *)&discovered[devices].network.address,
                            (void *)&addr, sizeof(addr));
-                    //discovered[devices].network.address_length =
-                    //    sizeof(addr);
                     memcpy((void *)&discovered[devices]
                                .network.interface_address,
                            (void *)&interface_addr, sizeof(interface_addr));
@@ -378,8 +374,6 @@ static gpointer discover_receive_thread(gpointer data) {
                                .network.interface_netmask,
                            (void *)&interface_netmask,
                            sizeof(interface_netmask));
-                    discovered[devices].network.interface_length =
-                        sizeof(interface_addr);
                     strcpy(discovered[devices].network.interface_name,
                            interface_name);
                     discovered[devices].use_tcp = 0;
index 8289be1c79d1d473349e6f28abdfaad62235f2b6..6d17efdd19fd0d445bee349ef237be8d7a552d5d 100644 (file)
@@ -268,10 +268,8 @@ gpointer p2_discover_receive_thread(gpointer data) {
                         discovered[devices].network.mac_address[i]=buffer[i+5];
                     }
                     memcpy((void*)&discovered[devices].network.address,(void*)&addr,sizeof(addr));
-                    discovered[devices].network.address_length=sizeof(addr);
                     memcpy((void*)&discovered[devices].network.interface_address,(void*)&interface_addr,sizeof(interface_addr));
                     memcpy((void*)&discovered[devices].network.interface_netmask,(void*)&interface_netmask,sizeof(interface_netmask));
-                    discovered[devices].network.interface_length=sizeof(interface_addr);
                     strcpy(discovered[devices].network.interface_name,interface_name);
                     discovered[devices].supported_receivers=2;
                     fprintf(stderr,"p2_discover: found %d protocol=%d device=%d software_version=%d status=%d address=%s (%02X:%02X:%02X:%02X:%02X:%02X) on %s\n",