condensed sendto() syntax in g2_ircddb and g2_link

pull/1/head
Tom Early 9 years ago
parent 1bfb48f36a
commit 8036b7eca1

@ -890,7 +890,7 @@ static void runit()
end_of_audio[16] = toRptr[i].sequence | 0x40;
for (j = 0; j < 2; j++)
sendto(srv_sock, (char *)end_of_audio, 29, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
sendto(srv_sock, end_of_audio, 29, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
toRptr[i].G2_COUNTER++;
@ -998,9 +998,7 @@ static void runit()
readBuffer[9] = 0x30;
readBuffer[10] = 0x20;
memcpy(readBuffer + 11, readBuffer2 + 9, 47);
sendto(srv_sock, (char *)readBuffer,58,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, 58, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* save the header */
memcpy(toRptr[i].saved_hdr, readBuffer, 58);
@ -1042,9 +1040,7 @@ static void runit()
readBuffer[10] = 0x20;
memcpy(readBuffer+11, readBuffer2+9, 18);
sendto(srv_sock, (char *)readBuffer, 29, 0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, 29, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* timeit */
time(&toRptr[i].last_time);
@ -1089,9 +1085,7 @@ static void runit()
toRptr[i].saved_hdr[4] = (unsigned char)((toRptr[i].G2_COUNTER >> 8) & 0xff);
/* re-generate/send the header */
sendto(srv_sock, (char *)toRptr[i].saved_hdr,58,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, toRptr[i].saved_hdr, 58, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* bump G2 counter */
toRptr[i].G2_COUNTER++;
@ -1107,9 +1101,7 @@ static void runit()
readBuffer[10] = 0x20;
memcpy(readBuffer + 11, readBuffer2 + 9, 18);
sendto(srv_sock, (char *)readBuffer,29,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, 29, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* make sure that any more audio arriving will be accepted */
toRptr[i].streamid[0] = readBuffer2[12];
@ -1251,7 +1243,7 @@ static void runit()
/* send data g2_link */
if (mycall_valid == REG_NOERROR)
sendto(srv_sock, (char *)readBuffer, recvlen, 0, (struct sockaddr *)&plug, sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, recvlen, 0, (struct sockaddr *)&plug, sizeof(struct sockaddr_in));
if ((mycall_valid == REG_NOERROR) &&
(memcmp(readBuffer + 36, "XRF", 3) != 0) && /* not a reflector */
@ -1332,9 +1324,7 @@ static void runit()
/* send to remote gateway */
for (j = 0; j < 5; j++)
sendto(g2_sock, (char *)readBuffer2, 56,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(g2_sock, readBuffer2, 56, 0,(struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
traceit("Routing to IP=%s, streamID=%d,%d, my=%.8s, sfx=%.4s, ur=%.8s, rpt1=%.8s, rpt2=%.8s, %d bytes\n",
inet_ntoa(to_remote_g2[i].toDst4.sin_addr),
@ -1403,18 +1393,14 @@ static void runit()
/* set PFCS */
calcPFCS(readBuffer2, 56);
/*
The remote repeater has been set, lets fill in the dest_rptr
so that later we can send that to the LIVE web site
*/
// The remote repeater has been set, lets fill in the dest_rptr
// so that later we can send that to the LIVE web site
memcpy(band_txt[i].dest_rptr, readBuffer2 + 18, CALL_SIZE);
band_txt[i].dest_rptr[CALL_SIZE] = '\0';
/* send to remote gateway */
for (j = 0; j < 5; j++)
sendto(g2_sock, (char *)readBuffer2, 56,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(g2_sock, readBuffer2, 56, 0,(struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
traceit("Routing to IP=%s, streamID=%d,%d, my=%.8s, sfx=%.4s, ur=%.8s, rpt1=%.8s, rpt2=%.8s, %d bytes\n",
inet_ntoa(to_remote_g2[i].toDst4.sin_addr),
@ -1456,9 +1442,7 @@ static void runit()
readBuffer[35] = 'G';
calcPFCS(readBuffer, 58);
sendto(srv_sock, (char *)readBuffer,58,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, 58, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* This is the active streamid */
toRptr[i].streamid[0] = readBuffer[14];
@ -1662,9 +1646,7 @@ static void runit()
readBuffer[35] = 'G';
calcPFCS(readBuffer, 58);
sendto(srv_sock, (char *)readBuffer,58,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer,58,0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* This is the active streamid */
toRptr[i].streamid[0] = readBuffer[14];
@ -2104,7 +2086,7 @@ static void runit()
}
/* send data to g2_link */
sendto(srv_sock, (char *)readBuffer, recvlen, 0, (struct sockaddr *)&plug, sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, recvlen, 0, (struct sockaddr *)&plug, sizeof(struct sockaddr_in));
/* aprs processing */
if (bool_send_aprs)
@ -2123,9 +2105,7 @@ static void runit()
else
memcpy(readBuffer2 + 15, readBuffer + 20, 12);
sendto(g2_sock, (char *)readBuffer2, 27,
0, (struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(g2_sock, readBuffer2, 27, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
time(&(to_remote_g2[i].last_time));
@ -2217,9 +2197,7 @@ static void runit()
} else
/* or maybe this is cross-banding data */
if ((memcmp(toRptr[i].streamid, readBuffer + 14, 2) == 0) && (toRptr[i].adr == fromRptr.sin_addr.s_addr)) {
sendto(srv_sock, (char *)readBuffer,29,0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, readBuffer, 29, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
/* timeit */
time(&toRptr[i].last_time);
@ -2583,9 +2561,7 @@ static void PlayFileThread(char *file)
memcpy(rptr_buf + 11, dstar_buf + 9, 18);
}
sendto(srv_sock, (char *)rptr_buf, rlen + 2, 0,
(struct sockaddr *)&toRptr[i].band_addr,
sizeof(struct sockaddr_in));
sendto(srv_sock, rptr_buf, rlen + 2, 0, (struct sockaddr *)&toRptr[i].band_addr, sizeof(struct sockaddr_in));
toRptr[i].G2_COUNTER ++;

@ -270,9 +270,7 @@ static void send_heartbeat()
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
sendto(ref_g2_sock,(char *)REF_ACK,3,0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, REF_ACK, 3, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
if (inbound_ptr->countdown >= 0)
inbound_ptr->countdown --;
@ -390,7 +388,7 @@ static void RptrAckThread(char *arg)
memcpy(buf + 50, "RPTR", 4);
calcPFCS(buf,56);
(void)sendto(rptr_sock,(char *)buf,56,0,(struct sockaddr *)&toLocalg2,sizeof(toLocalg2));
sendto(rptr_sock, buf, 56, 0, (struct sockaddr *)&toLocalg2, sizeof(toLocalg2));
nanos.tv_sec = 0;
nanos.tv_nsec = delay_between * 1000000;
nanosleep(&nanos,0);
@ -456,7 +454,7 @@ static void RptrAckThread(char *arg)
buf[26] = 0x93;
break;
}
(void)sendto(rptr_sock, (char *)buf, 27,0, (struct sockaddr *)&toLocalg2, sizeof(toLocalg2));
sendto(rptr_sock, buf, 27, 0, (struct sockaddr *)&toLocalg2, sizeof(toLocalg2));
if (i < 9) {
nanos.tv_sec = 0;
nanos.tv_nsec = delay_between * 1000000;
@ -1180,9 +1178,7 @@ static void g2link(char from_mod, char *call, char to_mod)
to_remote_g2[i].to_call, to_remote_g2[i].to_mod, payload);
for (j=0; j<5; j++)
sendto(xrf_g2_sock,link_request, CALL_SIZE + 3,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(xrf_g2_sock, link_request, CALL_SIZE + 3, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else if (port_i == rmt_dcs_port) {
strcpy(link_request, owner.c_str());
link_request[8] = from_mod;
@ -1196,9 +1192,7 @@ static void g2link(char from_mod, char *call, char to_mod)
to_remote_g2[i].to_call, to_remote_g2[i].to_mod, payload);
// Login form 5 to 1
for (j=0; j<1; j++)
sendto(dcs_g2_sock,link_request, 519,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, link_request, 519, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else if (port_i == rmt_ref_port) {
for (counter = 0; counter < 3; counter++) {
if (counter != i) {
@ -1219,9 +1213,7 @@ static void g2link(char from_mod, char *call, char to_mod)
queryCommand[4] = 1;
for (j = 0; j < 1; j++)
sendto(ref_g2_sock,(char *)queryCommand,5,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(ref_g2_sock, queryCommand, 5, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else {
if (to_remote_g2[counter].is_connected) {
to_remote_g2[i].is_connected = true;
@ -1362,22 +1354,15 @@ static void runit()
/* send heartbeat to linked XRF repeaters/reflectors */
if (to_remote_g2[0].toDst4.sin_port == htons(rmt_xrf_port))
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE + 1, 0,
(struct sockaddr *)&(to_remote_g2[0].toDst4),
sizeof(to_remote_g2[0].toDst4));
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE+1, 0, (struct sockaddr *)&(to_remote_g2[0].toDst4), sizeof(to_remote_g2[0].toDst4));
if ((to_remote_g2[1].toDst4.sin_port == htons(rmt_xrf_port)) &&
(strcmp(to_remote_g2[1].to_call, to_remote_g2[0].to_call) != 0))
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE + 1, 0,
(struct sockaddr *)&(to_remote_g2[1].toDst4),
sizeof(to_remote_g2[1].toDst4));
if ((to_remote_g2[1].toDst4.sin_port == htons(rmt_xrf_port)) && (strcmp(to_remote_g2[1].to_call, to_remote_g2[0].to_call) != 0))
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE+1, 0, (struct sockaddr *)&(to_remote_g2[1].toDst4), sizeof(to_remote_g2[1].toDst4));
if ((to_remote_g2[2].toDst4.sin_port == htons(rmt_xrf_port)) &&
(strcmp(to_remote_g2[2].to_call, to_remote_g2[0].to_call) != 0) &&
(strcmp(to_remote_g2[2].to_call, to_remote_g2[1].to_call) != 0))
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE + 1, 0,
(struct sockaddr *)&(to_remote_g2[2].toDst4),
sizeof(to_remote_g2[2].toDst4));
sendto(xrf_g2_sock, owner.c_str(), CALL_SIZE+1, 0, (struct sockaddr *)&(to_remote_g2[2].toDst4), sizeof(to_remote_g2[2].toDst4));
/* send heartbeat to linked DCS reflectors */
if (to_remote_g2[0].toDst4.sin_port == htons(rmt_dcs_port)) {
@ -1385,50 +1370,37 @@ static void runit()
cmd_2_dcs[7] = to_remote_g2[0].from_mod;
memcpy(cmd_2_dcs + 9, to_remote_g2[0].to_call, 8);
cmd_2_dcs[16] = to_remote_g2[0].to_mod;
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0,
(struct sockaddr *)&(to_remote_g2[0].toDst4),
sizeof(to_remote_g2[0].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0, (struct sockaddr *)&(to_remote_g2[0].toDst4), sizeof(to_remote_g2[0].toDst4));
}
if (to_remote_g2[1].toDst4.sin_port == htons(rmt_dcs_port)) {
strcpy(cmd_2_dcs, owner.c_str());
cmd_2_dcs[7] = to_remote_g2[1].from_mod;
memcpy(cmd_2_dcs + 9, to_remote_g2[1].to_call, 8);
cmd_2_dcs[16] = to_remote_g2[1].to_mod;
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0,
(struct sockaddr *)&(to_remote_g2[1].toDst4),
sizeof(to_remote_g2[1].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0, (struct sockaddr *)&(to_remote_g2[1].toDst4), sizeof(to_remote_g2[1].toDst4));
}
if (to_remote_g2[2].toDst4.sin_port == htons(rmt_dcs_port)) {
strcpy(cmd_2_dcs, owner.c_str());
cmd_2_dcs[7] = to_remote_g2[2].from_mod;
memcpy(cmd_2_dcs + 9, to_remote_g2[2].to_call, 8);
cmd_2_dcs[16] = to_remote_g2[2].to_mod;
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0,
(struct sockaddr *)&(to_remote_g2[2].toDst4),
sizeof(to_remote_g2[2].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 17, 0, (struct sockaddr *)&(to_remote_g2[2].toDst4), sizeof(to_remote_g2[2].toDst4));
}
/* send heartbeat to linked REF reflectors */
if (to_remote_g2[0].is_connected &&
(to_remote_g2[0].toDst4.sin_port == htons(rmt_ref_port)))
sendto(ref_g2_sock,(char *)REF_ACK,3,0,
(struct sockaddr *)&(to_remote_g2[0].toDst4),
sizeof(to_remote_g2[0].toDst4));
if (to_remote_g2[0].is_connected && (to_remote_g2[0].toDst4.sin_port == htons(rmt_ref_port)))
sendto(ref_g2_sock, REF_ACK, 3, 0, (struct sockaddr *)&(to_remote_g2[0].toDst4), sizeof(to_remote_g2[0].toDst4));
if (to_remote_g2[1].is_connected &&
(to_remote_g2[1].toDst4.sin_port == htons(rmt_ref_port)) &&
(strcmp(to_remote_g2[1].to_call, to_remote_g2[0].to_call) != 0))
sendto(ref_g2_sock,(char *)REF_ACK,3,0,
(struct sockaddr *)&(to_remote_g2[1].toDst4),
sizeof(to_remote_g2[1].toDst4));
sendto(ref_g2_sock, REF_ACK, 3, 0, (struct sockaddr *)&(to_remote_g2[1].toDst4), sizeof(to_remote_g2[1].toDst4));
if (to_remote_g2[2].is_connected &&
(to_remote_g2[2].toDst4.sin_port == htons(rmt_ref_port)) &&
(strcmp(to_remote_g2[2].to_call, to_remote_g2[0].to_call) != 0) &&
(strcmp(to_remote_g2[2].to_call, to_remote_g2[1].to_call) != 0))
sendto(ref_g2_sock,(char *)REF_ACK,3,0,
(struct sockaddr *)&(to_remote_g2[2].toDst4),
sizeof(to_remote_g2[2].toDst4));
sendto(ref_g2_sock, REF_ACK, 3, 0, (struct sockaddr *)&(to_remote_g2[2].toDst4), sizeof(to_remote_g2[2].toDst4));
for (i = 0; i < 3; i++) {
/* check for timeouts from remote */
@ -1472,9 +1444,7 @@ static void runit()
queryCommand[2] = 24;
queryCommand[3] = 0;
queryCommand[4] = 0;
sendto(ref_g2_sock,(char *)queryCommand,5,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(ref_g2_sock, queryCommand, 5, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
/* zero out any other entries here that match that system */
for (j = 0; j < 3; j++) {
@ -1487,8 +1457,7 @@ static void runit()
to_remote_g2[j].to_mod = ' ';
to_remote_g2[j].countdown = 0;
to_remote_g2[j].is_connected = false;
to_remote_g2[j].in_streamid[0] = 0x00;
to_remote_g2[j].in_streamid[1] = 0x00;
to_remote_g2[j].in_streamid[0] = to_remote_g2[j].in_streamid[1] = 0x00;
}
}
}
@ -1499,9 +1468,7 @@ static void runit()
unlink_request[10] = '\0';
for (j = 0; j < 5; j++)
sendto(xrf_g2_sock,unlink_request, CALL_SIZE + 3,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(xrf_g2_sock, unlink_request, CALL_SIZE+3, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
strcpy(cmd_2_dcs, owner.c_str());
cmd_2_dcs[8] = to_remote_g2[i].from_mod;
@ -1510,9 +1477,7 @@ static void runit()
memcpy(cmd_2_dcs + 11, to_remote_g2[i].to_call, 8);
for (j=0; j<2; j++)
sendto(dcs_g2_sock, cmd_2_dcs, 19 ,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 19 ,0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
sprintf(notify_msg, "%c_unlinked.dat_UNLINKED_TIMEOUT", to_remote_g2[i].from_mod);
@ -1701,9 +1666,7 @@ static void runit()
/* send back an ACK */
memcpy(readBuffer2 + 10, "ACK", 4);
sendto(xrf_g2_sock, (char *)readBuffer2, CALL_SIZE + 6,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2, CALL_SIZE+6, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
if (to_remote_g2[i].from_mod != readBuffer2[9]) {
to_remote_g2[i].from_mod = readBuffer2[9];
@ -1791,18 +1754,14 @@ static void runit()
/* send back an ACK */
memcpy(readBuffer2 + 10, "ACK", 4);
sendto(xrf_g2_sock, (char *)readBuffer2, CALL_SIZE + 6,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2, CALL_SIZE+6, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
}
} else {
if (fromDst4.sin_addr.s_addr != to_remote_g2[i].toDst4.sin_addr.s_addr) {
/* Our repeater module is linked to another repeater-reflector */
memcpy(readBuffer2 + 10, "NAK", 4);
fromDst4.sin_port = htons(rmt_xrf_port);
sendto(xrf_g2_sock, (char *)readBuffer2, CALL_SIZE + 6,
0,(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2, CALL_SIZE+6, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
}
}
@ -1921,7 +1880,7 @@ static void runit()
}
/* relay data to our local G2 */
sendto(rptr_sock, (char *)readBuffer2,56,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2,56,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
/* send data to donglers */
/* no changes here */
@ -1933,9 +1892,7 @@ static void runit()
readBuffer[1] = (unsigned char)(readBuffer[1] | 0xFFFFFF80);
memcpy(readBuffer + 2, readBuffer2, 56);
sendto(ref_g2_sock, (char *)readBuffer, 58, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer, 58, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
} else
inbound_ptr->mod = readBuffer2[25];
}
@ -1978,8 +1935,7 @@ static void runit()
calcPFCS(from_xrf_torptr_brd, 56);
/* send the data to the local gateway/repeater */
sendto(rptr_sock, (char *)from_xrf_torptr_brd,56,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, from_xrf_torptr_brd, 56, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
/* save streamid for use with the audio packets that will arrive after this header */
@ -2015,9 +1971,7 @@ static void runit()
readBuffer2[33] = 'G';
calcPFCS(readBuffer2, 56);
sendto(xrf_g2_sock, (char *)readBuffer2, 56, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2, 56, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
}
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_ref_port)) {
if ( /*** (memcmp(readBuffer2 + 42, owner, 8) != 0) && ***/ /* block repeater announcements */
@ -2049,9 +2003,7 @@ static void runit()
calcPFCS(readBuffer + 2, 56);
sendto(ref_g2_sock, (char *)readBuffer, 58, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer, 58, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
}
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
if ( /*** (memcmp(readBuffer2 + 42, owner, 8) != 0) && ***/ /* block repeater announcements */
@ -2088,7 +2040,7 @@ static void runit()
}
/* relay data to our local G2 */
sendto(rptr_sock, (char *)readBuffer2,27,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2, 27, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
/* send data to donglers */
/* no changes here */
@ -2101,9 +2053,7 @@ static void runit()
memcpy(readBuffer + 2, readBuffer2, 27);
sendto(ref_g2_sock, (char *)readBuffer, 29,
0,(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer, 29, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
}
@ -2115,14 +2065,14 @@ static void runit()
(brd_from_xrf.rptr_streamid[0][1] != 0x00)) {
from_xrf_torptr_brd[12] = brd_from_xrf.rptr_streamid[0][0];
from_xrf_torptr_brd[13] = brd_from_xrf.rptr_streamid[0][1];
sendto(rptr_sock, (char *)from_xrf_torptr_brd,27,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, from_xrf_torptr_brd, 27, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
}
if ((brd_from_xrf.rptr_streamid[1][0] != 0x00) ||
(brd_from_xrf.rptr_streamid[1][1] != 0x00)) {
from_xrf_torptr_brd[12] = brd_from_xrf.rptr_streamid[1][0];
from_xrf_torptr_brd[13] = brd_from_xrf.rptr_streamid[1][1];
sendto(rptr_sock, (char *)from_xrf_torptr_brd,27,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, from_xrf_torptr_brd, 27, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
}
if ((readBuffer2[14] & 0x40) != 0) {
@ -2141,9 +2091,7 @@ static void runit()
/* inform XRF about the source */
readBuffer2[11] = to_remote_g2[i].from_mod;
sendto(xrf_g2_sock, (char *)readBuffer2, 27, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2, 27, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_ref_port)) {
readBuffer[0] = (unsigned char)(29 & 0xFF);
readBuffer[1] = (unsigned char)(29 >> 8 & 0x1F);
@ -2151,9 +2099,7 @@ static void runit()
memcpy(readBuffer + 2, readBuffer2, 27);
sendto(ref_g2_sock, (char *)readBuffer, 29,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer, 29, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
memset(dcs_buf, 0x00, 600);
dcs_buf[0] = dcs_buf[1] = dcs_buf[2] = '0';
@ -2180,9 +2126,7 @@ static void runit()
dcs_buf[61] = 0x01;
dcs_buf[62] = 0x00;
sendto(dcs_g2_sock, dcs_buf, 100, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, dcs_buf, 100, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
if ((readBuffer2[14] & 0x40) != 0) {
@ -2272,9 +2216,7 @@ static void runit()
readBuffer2[4] = 0x27;
readBuffer2[5] = 0x00;
sendto(ref_g2_sock,(char *)readBuffer2,946,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 946, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
j_idx = 0;
}
@ -2290,9 +2232,7 @@ static void runit()
readBuffer2[4] = tmp[0];
readBuffer2[5] = tmp[1];
sendto(ref_g2_sock,(char *)readBuffer2, k_idx, 0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, k_idx, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
}
} else
@ -2362,9 +2302,7 @@ static void runit()
readBuffer2[4] = tmp[0];
readBuffer2[5] = tmp[1];
sendto(ref_g2_sock,(char *)readBuffer2,788,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2,788,0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
j_idx = 0;
}
@ -2386,9 +2324,7 @@ static void runit()
readBuffer2[4] = tmp[0];
readBuffer2[5] = tmp[1];
sendto(ref_g2_sock,(char *)readBuffer2, 8 + (j_idx * 20), 0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 8+(j_idx*20), 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
}
} else
@ -2454,9 +2390,7 @@ static void runit()
readBuffer2[4] = tmp[0];
readBuffer2[5] = tmp[1];
sendto(ref_g2_sock,(char *)readBuffer2,788,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 788, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
j_idx = 0;
}
@ -2477,9 +2411,7 @@ static void runit()
readBuffer2[4] = tmp[0];
readBuffer2[5] = tmp[1];
sendto(ref_g2_sock,(char *)readBuffer2, 8 + (j_idx * 20), 0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 8+(j_idx*20), 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
}
} else
@ -2514,9 +2446,7 @@ static void runit()
tm.tm_hour,tm.tm_min,tm.tm_sec,
(tzname[0] == NULL)?" ":tzname[0]);
sendto(ref_g2_sock,(char *)readBuffer2,34,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 34, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
} else
/* version request */
@ -2537,9 +2467,7 @@ static void runit()
strncpy((char *)readBuffer2 + 4, VERSION, 4);
readBuffer2[8] = 0;
sendto(ref_g2_sock,(char *)readBuffer2,9,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 9, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
}
} else if ((recvlen2 == 5) &&
(readBuffer2[0] == 5) &&
@ -2548,9 +2476,7 @@ static void runit()
(readBuffer2[3] == 0) &&
(readBuffer2[4] == 0)) {
/* reply with the same DISCONNECT */
sendto(ref_g2_sock,(char *)readBuffer2,5,0,
(struct sockaddr *)&fromDst4,
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 5, 0, (struct sockaddr *)&fromDst4, sizeof(struct sockaddr_in));
for (i = 0; i < 3; i++) {
if ((fromDst4.sin_addr.s_addr == to_remote_g2[i].toDst4.sin_addr.s_addr) &&
@ -2606,12 +2532,9 @@ static void runit()
memset(queryCommand + 12, '\0', 8);
memcpy(queryCommand + 20, "DV019999", 8);
/*** ATTENTION: I should ONLY send once for each distinct
remote IP, so get out of the loop immediately
***/
sendto(ref_g2_sock,(char *)queryCommand,28,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
// ATTENTION: I should ONLY send once for each distinct
// remote IP, so get out of the loop immediately
sendto(ref_g2_sock, queryCommand,28,0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
break;
}
@ -2740,12 +2663,9 @@ static void runit()
(readBuffer2[3] == 0) &&
(readBuffer2[4] == 1)) {
if ((inbound_list.size() + 1) > max_dongles)
traceit("Inbound DONGLE-p connection from %s but over the max_dongles limit of %d\n",
ip, inbound_list.size());
traceit("Inbound DONGLE-p connection from %s but over the max_dongles limit of %d\n", ip, inbound_list.size());
else
sendto(ref_g2_sock,(char *)readBuffer2,5,0,
(struct sockaddr *)&fromDst4,
sizeof(fromDst4));
sendto(ref_g2_sock, readBuffer2, 5, 0, (struct sockaddr *)&fromDst4, sizeof(fromDst4));
} else if ((recvlen2 == 28) &&
(readBuffer2[0] == 28) &&
(readBuffer2[1] == 192) &&
@ -2779,9 +2699,7 @@ static void runit()
readBuffer2[6] = 73;
readBuffer2[7] = 76;
sendto(ref_g2_sock,(char *)readBuffer2,8,0,
(struct sockaddr *)&fromDst4,
sizeof(fromDst4));
sendto(ref_g2_sock, readBuffer2, 8, 0, (struct sockaddr *)&fromDst4, sizeof(fromDst4));
} else {
/* add the dongle to the inbound list */
inbound_ptr = (inbound *)malloc(sizeof(inbound));
@ -2811,9 +2729,7 @@ static void runit()
readBuffer2[6] = 82;
readBuffer2[7] = 87;
sendto(ref_g2_sock,(char *)readBuffer2,8,0,
(struct sockaddr *)&fromDst4,
sizeof(fromDst4));
sendto(ref_g2_sock, readBuffer2, 8, 0, (struct sockaddr *)&fromDst4, sizeof(fromDst4));
print_status_file();
@ -2828,9 +2744,7 @@ static void runit()
readBuffer2[6] = 73;
readBuffer2[7] = 76;
sendto(ref_g2_sock,(char *)readBuffer2,8,0,
(struct sockaddr *)&fromDst4,
sizeof(fromDst4));
sendto(ref_g2_sock, readBuffer2, 8, 0, (struct sockaddr *)&fromDst4, sizeof(fromDst4));
}
} else {
traceit("malloc() failed for call=%s,ip=%s\n",call,ip);
@ -2841,9 +2755,7 @@ static void runit()
readBuffer2[6] = 73;
readBuffer2[7] = 76;
sendto(ref_g2_sock,(char *)readBuffer2,8,0,
(struct sockaddr *)&fromDst4,
sizeof(fromDst4));
sendto(ref_g2_sock, readBuffer2, 8, 0, (struct sockaddr *)&fromDst4, sizeof(fromDst4));
}
}
}
@ -2975,15 +2887,13 @@ static void runit()
}
/* send the data to the local gateway/repeater */
sendto(rptr_sock, (char *)readBuffer2 + 2,56,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2+2, 56, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
/* send the data to the donglers */
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
if (fromDst4.sin_addr.s_addr != inbound_ptr->sin.sin_addr.s_addr) {
sendto(ref_g2_sock, (char *)readBuffer2, 58, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 58, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
} else
inbound_ptr->mod = readBuffer2[27];
}
@ -3013,13 +2923,9 @@ static void runit()
/* inform XRF about the source */
readBuffer2[13] = to_remote_g2[i].from_mod;
sendto(xrf_g2_sock, (char *)readBuffer2 + 2, 56, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2 + 2, 56, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else
sendto(ref_g2_sock, (char *)readBuffer2, 58, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 58, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
memcpy(ref_2_dcs[i].mycall, readBuffer2 + 44, 8);
memcpy(ref_2_dcs[i].sfx, readBuffer2 + 52, 4);
@ -3044,15 +2950,13 @@ static void runit()
}
/* send the data to the local gateway/repeater */
sendto(rptr_sock, (char *)readBuffer2 + 2,27,0,(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2+2, 27, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
/* send the data to the donglers */
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
if (fromDst4.sin_addr.s_addr != inbound_ptr->sin.sin_addr.s_addr) {
sendto(ref_g2_sock, (char *)readBuffer2, 29, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 29, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
}
@ -3064,13 +2968,9 @@ static void runit()
/* inform XRF about the source */
readBuffer2[13] = to_remote_g2[i].from_mod;
sendto(xrf_g2_sock, (char *)readBuffer2 + 2, 27, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2+2, 27, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_ref_port))
sendto(ref_g2_sock, (char *)readBuffer2, 29,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 29, 0,(struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
memset(dcs_buf, 0x00, 600);
dcs_buf[0] = dcs_buf[1] = dcs_buf[2] = '0';
@ -3097,9 +2997,7 @@ static void runit()
dcs_buf[61] = 0x01;
dcs_buf[62] = 0x00;
sendto(dcs_g2_sock, dcs_buf, 100, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, dcs_buf, 100, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
if ((readBuffer2[16] & 0x40) != 0) {
@ -3220,17 +3118,13 @@ static void runit()
/* send the header to the local gateway/repeater */
for (j = 0; j < 5; j++)
sendto(rptr_sock, (char *)readBuffer2 + 2, 56,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2+2, 56, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
/* send the data to the donglers */
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
for (j = 0; j < 5; j++) {
sendto(ref_g2_sock, (char *)readBuffer2, 58, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
}
for (j=0; j<5; j++)
sendto(ref_g2_sock, readBuffer2, 58, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
}
@ -3262,15 +3156,12 @@ static void runit()
memcpy(readBuffer2 + 17, dcs_buf + 46, 12);
/* send the data to the local gateway/repeater */
sendto(rptr_sock, (char *)readBuffer2 + 2, 27,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, readBuffer2+2, 27, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
/* send the data to the donglers */
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
sendto(ref_g2_sock, (char *)readBuffer2, 29, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 29, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
if ((dcs_buf[45] & 0x40) != 0) {
@ -3534,9 +3425,7 @@ static void runit()
queryCommand[2] = 24;
queryCommand[3] = 0;
queryCommand[4] = 0;
sendto(ref_g2_sock,(char *)queryCommand,5,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(ref_g2_sock, queryCommand, 5, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_xrf_port)) {
strcpy(unlink_request, owner.c_str());
@ -3545,9 +3434,7 @@ static void runit()
unlink_request[10] = '\0';
for (j = 0; j < 5; j++)
sendto(xrf_g2_sock,unlink_request, CALL_SIZE + 3,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(xrf_g2_sock, unlink_request, CALL_SIZE+3, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else {
strcpy(cmd_2_dcs, owner.c_str());
cmd_2_dcs[8] = to_remote_g2[i].from_mod;
@ -3556,9 +3443,7 @@ static void runit()
memcpy(cmd_2_dcs + 11, to_remote_g2[i].to_call, 8);
for (j=0; j<5; j++)
sendto(dcs_g2_sock, cmd_2_dcs, 19,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 19, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
traceit("Unlinked from [%s] mod %c\n",
@ -3653,9 +3538,7 @@ static void runit()
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
for (j=0; j<5; j++)
sendto(ref_g2_sock, (char *)readBuffer2, 58,
0,(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 58, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
}
@ -3703,8 +3586,7 @@ static void runit()
calcPFCS(fromrptr_torptr_brd, 56);
sendto(xrf_g2_sock, (char *)fromrptr_torptr_brd,56,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, fromrptr_torptr_brd, 56, 0, (struct sockaddr *)&toLocalg2, sizeof(struct sockaddr_in));
brd_from_rptr.from_rptr_streamid[0] = readBuffer[14];
brd_from_rptr.from_rptr_streamid[1] = readBuffer[15];
@ -3755,14 +3637,10 @@ static void runit()
readBuffer2[13] = to_remote_g2[i].from_mod;
for (j=0; j<5; j++)
sendto(xrf_g2_sock, (char *)readBuffer2 + 2, 56,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2+2, 56, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else {
for (j=0; j<5; j++)
sendto(ref_g2_sock, (char *)readBuffer2, 58,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 58, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
}
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
memcpy(rptr_2_dcs[i].mycall, readBuffer + 44, 8);
@ -3795,9 +3673,7 @@ static void runit()
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
sendto(ref_g2_sock, (char *)readBuffer2, 29, 0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 29, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
}
@ -3826,16 +3702,14 @@ static void runit()
(brd_from_rptr.to_rptr_streamid[0][1] != 0x00)) {
fromrptr_torptr_brd[12] = brd_from_rptr.to_rptr_streamid[0][0];
fromrptr_torptr_brd[13] = brd_from_rptr.to_rptr_streamid[0][1];
sendto(xrf_g2_sock, (char *)fromrptr_torptr_brd,27,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, fromrptr_torptr_brd, 27, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
}
if ((brd_from_rptr.to_rptr_streamid[1][0] != 0x00) ||
(brd_from_rptr.to_rptr_streamid[1][1] != 0x00)) {
fromrptr_torptr_brd[12] = brd_from_rptr.to_rptr_streamid[1][0];
fromrptr_torptr_brd[13] = brd_from_rptr.to_rptr_streamid[1][1];
sendto(xrf_g2_sock, (char *)fromrptr_torptr_brd,27,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, fromrptr_torptr_brd, 27, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
}
if ((readBuffer[16] & 0x40) != 0) {
@ -3871,13 +3745,9 @@ static void runit()
/* inform XRF about the source */
readBuffer2[13] = to_remote_g2[i].from_mod;
sendto(xrf_g2_sock, (char *)readBuffer2 + 2, 27,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(xrf_g2_sock, readBuffer2+2, 27, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_ref_port))
sendto(ref_g2_sock, (char *)readBuffer2, 29,
0,(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, readBuffer2, 29, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(struct sockaddr_in));
} else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_dcs_port)) {
memset(dcs_buf, 0x00, 600);
dcs_buf[0] = dcs_buf[1] = dcs_buf[2] = '0';
@ -3904,9 +3774,7 @@ static void runit()
dcs_buf[61] = 0x01;
dcs_buf[62] = 0x00;
sendto(dcs_g2_sock, dcs_buf, 100, 0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, dcs_buf, 100, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
if ((readBuffer[16] & 0x40) != 0) {
@ -4216,8 +4084,7 @@ static void AudioNotifyThread(char *arg)
}
}
}
(void)sendto(rptr_sock, (char *)dstar_buf,rlen,0,
(struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
sendto(rptr_sock, dstar_buf, rlen, 0, (struct sockaddr *)&toLocalg2,sizeof(struct sockaddr_in));
}
nanos.tv_sec = 0;
nanos.tv_nsec = delay_between * 1000000;
@ -4322,18 +4189,14 @@ int main(int argc, char **argv)
for (i = 0; i < 3; i++) {
if (to_remote_g2[i].to_call[0] != '\0') {
if (to_remote_g2[i].toDst4.sin_port == htons(rmt_ref_port))
sendto(ref_g2_sock,(char *)queryCommand,5,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(ref_g2_sock, queryCommand, 5, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
else if (to_remote_g2[i].toDst4.sin_port == htons(rmt_xrf_port)) {
strcpy(unlink_request, owner.c_str());
unlink_request[8] = to_remote_g2[i].from_mod;
unlink_request[9] = ' ';
unlink_request[10] = '\0';
for (j=0; j<5; j++)
sendto(xrf_g2_sock,unlink_request, CALL_SIZE + 3,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(xrf_g2_sock, unlink_request, CALL_SIZE+3, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
} else {
strcpy(cmd_2_dcs, owner.c_str());
cmd_2_dcs[8] = to_remote_g2[i].from_mod;
@ -4342,9 +4205,7 @@ int main(int argc, char **argv)
memcpy(cmd_2_dcs + 11, to_remote_g2[i].to_call, 8);
for (j=0; j<5; j++)
sendto(dcs_g2_sock, cmd_2_dcs, 19,0,
(struct sockaddr *)&(to_remote_g2[i].toDst4),
sizeof(to_remote_g2[i].toDst4));
sendto(dcs_g2_sock, cmd_2_dcs, 19, 0, (struct sockaddr *)&(to_remote_g2[i].toDst4), sizeof(to_remote_g2[i].toDst4));
}
}
to_remote_g2[i].to_call[0] = '\0';
@ -4362,9 +4223,7 @@ int main(int argc, char **argv)
/* tell inbound dongles we are down */
for (pos = inbound_list.begin(); pos != inbound_list.end(); pos++) {
inbound_ptr = (inbound *)pos->second;
sendto(ref_g2_sock,(char *)queryCommand,5,0,
(struct sockaddr *)&(inbound_ptr->sin),
sizeof(struct sockaddr_in));
sendto(ref_g2_sock, queryCommand, 5, 0, (struct sockaddr *)&(inbound_ptr->sin), sizeof(struct sockaddr_in));
}
inbound_list.clear();
@ -4374,4 +4233,3 @@ int main(int argc, char **argv)
return 0;
}

Loading…
Cancel
Save

Powered by TurnKey Linux.