Conflicts: openair1/PHY/INIT/lte_init.c openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c openair1/PHY/LTE_TRANSPORT/dci.c openair1/PHY/LTE_TRANSPORT/dci_tools.c openair1/PHY/LTE_TRANSPORT/dlsch_coding.c openair1/PHY/LTE_TRANSPORT/edci.c openair1/PHY/LTE_TRANSPORT/if4_tools.c openair1/PHY/LTE_TRANSPORT/prach.c openair1/PHY/LTE_TRANSPORT/print_stats.c openair1/PHY/LTE_TRANSPORT/pucch.c openair1/PHY/LTE_TRANSPORT/transport_eNB.h openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h openair1/PHY/impl_defs_lte.h openair1/SCHED/fapi_l1.c openair1/SCHED/phy_procedures_lte_eNb.c openair2/COMMON/rrc_messages_types.h openair2/ENB_APP/enb_config.c openair2/ENB_APP/enb_paramdef.h openair2/LAYER2/MAC/config.c openair2/LAYER2/MAC/defs.h openair2/LAYER2/MAC/eNB_scheduler.c openair2/LAYER2/MAC/eNB_scheduler_RA.c openair2/LAYER2/MAC/eNB_scheduler_bch.c openair2/LAYER2/MAC/eNB_scheduler_dlsch.c openair2/LAYER2/MAC/eNB_scheduler_primitives.c openair2/LAYER2/MAC/eNB_scheduler_ulsch.c openair2/LAYER2/MAC/pre_processor.c openair2/LAYER2/MAC/rar_tools.c openair2/LAYER2/MAC/ue_procedures.c openair2/PHY_INTERFACE/IF_Module.c openair2/RRC/LITE/rrc_common.c openair2/RRC/LTE/L2_interface_ue.c openair2/RRC/LTE/MESSAGES/asn1_msg.c openair2/RRC/LTE/rrc_eNB.c targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp targets/RT/USER/lte-enb.c targets/RT/USER/lte-ru.c
69 lines
1.3 KiB
C
Executable File
69 lines
1.3 KiB
C
Executable File
#include "config.h"
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
static char *local;
|
|
static int local_size;
|
|
static char *remote;
|
|
static int remote_size;
|
|
|
|
static char *PUT(char *to, int tosize, char c)
|
|
{
|
|
if ((tosize & 4095) == 0) {
|
|
to = realloc(to, tosize + 4096); if (to == NULL) abort();
|
|
}
|
|
to[tosize] = c;
|
|
return to;
|
|
}
|
|
|
|
void clear_remote_config(void)
|
|
{
|
|
free(remote);
|
|
remote = NULL;
|
|
remote_size = 0;
|
|
}
|
|
|
|
void append_received_config_chunk(char *buf, int length)
|
|
{
|
|
int buflen = *(int *)buf;
|
|
if (buflen != length - sizeof(int)) {
|
|
printf("ERROR: bad trace -1, should not happen...\n");
|
|
abort();
|
|
}
|
|
buf += sizeof(int);
|
|
while (buflen) {
|
|
remote = PUT(remote, remote_size, *buf);
|
|
remote_size++;
|
|
buf++;
|
|
buflen--;
|
|
}
|
|
}
|
|
|
|
void load_config_file(char *filename)
|
|
{
|
|
int c;
|
|
FILE *f = fopen(filename, "r");
|
|
if (f == NULL) { perror(filename); abort(); }
|
|
while (1) {
|
|
c = fgetc(f); if (c == EOF) break;
|
|
local = PUT(local, local_size, c);
|
|
local_size++;
|
|
}
|
|
fclose(f);
|
|
}
|
|
|
|
void verify_config(void)
|
|
{
|
|
if (local_size != remote_size || memcmp(local, remote, local_size) != 0) {
|
|
printf("ERROR: local and remote T_messages.txt not identical\n");
|
|
abort();
|
|
}
|
|
}
|
|
|
|
void get_local_config(char **txt, int *len)
|
|
{
|
|
*txt = local;
|
|
*len = local_size;
|
|
}
|