From bc524ea192e8429693a3a604c4268e045d780a53 Mon Sep 17 00:00:00 2001
From: Melissa Elkadi <melissa@episci.com>
Date: Mon, 15 Feb 2021 09:00:22 -0800
Subject: [PATCH] Minor fixes and new definitions for build success

---
 common/utils/ocp_itti/intertask_interface.cpp |  2 +-
 openair1/SIMULATION/TOOLS/taus.c              |  2 ++
 openair2/LAYER2/PDCP_v10.1.0/pdcp.c           |  2 +-
 openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c      |  1 +
 openair2/PHY_INTERFACE/IF_Module.h            | 11 +++++++++++
 openair2/PHY_INTERFACE/phy_stub_UE.h          |  2 ++
 targets/COMMON/openairinterface5g_limits.h    |  1 +
 7 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/common/utils/ocp_itti/intertask_interface.cpp b/common/utils/ocp_itti/intertask_interface.cpp
index d587d76741d..6d9747f3a5b 100644
--- a/common/utils/ocp_itti/intertask_interface.cpp
+++ b/common/utils/ocp_itti/intertask_interface.cpp
@@ -26,7 +26,7 @@
 #include <sys/eventfd.h>
 
 
-extern "C" {
+extern "C"
 #include <intertask_interface.h>
 #include <common/utils/system.h>
 
diff --git a/openair1/SIMULATION/TOOLS/taus.c b/openair1/SIMULATION/TOOLS/taus.c
index 2f9f18353f9..a9d2750c063 100644
--- a/openair1/SIMULATION/TOOLS/taus.c
+++ b/openair1/SIMULATION/TOOLS/taus.c
@@ -21,6 +21,8 @@
 
 #include <time.h>
 #include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
 //#include "SIMULATION/TOOLS/sim.h"
 
 
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
index b118d08e77c..26cd25f3083 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp.c
@@ -2269,7 +2269,7 @@ uint64_t pdcp_module_init( uint64_t pdcp_optmask, int id) {
 
     if(UE_NAS_USE_TUN) {
       int num_if = (NFAPI_MODE == NFAPI_UE_STUB_PNF || IS_SOFTMODEM_SIML1 || NFAPI_MODE == NFAPI_MODE_STANDALONE_PNF)? MAX_MOBILES_PER_ENB : 1;
-      netlink_init_tun("ue",num_if);
+      netlink_init_tun("ue",num_if, id);
       if (IS_SOFTMODEM_NOS1)
         nas_config(1, 1, 2, "ue");
       netlink_init_mbms_tun("uem", id);
diff --git a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
index caf571c1395..97a60e50868 100644
--- a/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
+++ b/openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
@@ -509,6 +509,7 @@ int pdcp_fifo_read_input_sdus_fromnetlinksock (const protocol_ctxt_t *const  ctx
               ctxt.module_id = inst_pdcp_list[pdcp_read_header_g.inst];
 #else
               ctxt.module_id = pdcp_read_header_g.inst;
+#endif
             } else {
               ctxt.module_id = 0;
             }
diff --git a/openair2/PHY_INTERFACE/IF_Module.h b/openair2/PHY_INTERFACE/IF_Module.h
index 1254b2b1e68..b8d30d3cefe 100644
--- a/openair2/PHY_INTERFACE/IF_Module.h
+++ b/openair2/PHY_INTERFACE/IF_Module.h
@@ -203,6 +203,17 @@ typedef struct IF_Module_s{
   pthread_mutex_t if_mutex;
 } IF_Module_t;
 
+// These mutex is used for multiple UEs L2 FAPI simulator.
+// Each UEs set these value in UL and UL_INFO is shared in all UE's thread.
+typedef struct {
+  pthread_mutex_t rx_mutex;
+  pthread_mutex_t crc_mutex;
+  pthread_mutex_t sr_mutex;
+  pthread_mutex_t harq_mutex;
+  pthread_mutex_t cqi_mutex;
+  pthread_mutex_t rach_mutex;
+} FILL_UL_INFO_MUTEX_t;
+
 /*Initial */
 IF_Module_t *IF_Module_init(int Mod_id);
 void IF_Module_kill(int Mod_id);
diff --git a/openair2/PHY_INTERFACE/phy_stub_UE.h b/openair2/PHY_INTERFACE/phy_stub_UE.h
index 0f7b7026868..6eb339cb9e7 100644
--- a/openair2/PHY_INTERFACE/phy_stub_UE.h
+++ b/openair2/PHY_INTERFACE/phy_stub_UE.h
@@ -21,6 +21,8 @@
 //#include "openair1/PHY/LTE_TRANSPORT/defs.h"
 #include "queue.h"
 
+// this mutex is used to set multiple UE's UL value in L2 FAPI simulator.
+FILL_UL_INFO_MUTEX_t fill_ul_mutex;
 //below 2 difinitions move to phy_stub_UE.c to add initialization when difinition.
 extern UL_IND_t *UL_INFO;
 // New
diff --git a/targets/COMMON/openairinterface5g_limits.h b/targets/COMMON/openairinterface5g_limits.h
index a5481b6d928..a21f0b0e4bb 100644
--- a/targets/COMMON/openairinterface5g_limits.h
+++ b/targets/COMMON/openairinterface5g_limits.h
@@ -1,4 +1,5 @@
 #ifndef OPENAIRINTERFACE5G_LIMITS_H_
+#endif
 #define OPENAIRINTERFACE5G_LIMITS_H_
 
 #if 1 /*defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR) || defined(OAI_ADRV9371_ZC706)*/
-- 
GitLab