[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-414]Storing UE context per Cell per DU at...
[o-du/l2.git] / src / cu_stub / cu_f1ap_msg_hdl.h
index d213a90..a14f9e0 100644 (file)
 *******************************************************************************/
 
 /* This file contains all F1AP message handler related functionality */
-#include<stdio.h>
-#include<sys/types.h>
-#include<string.h>
-#include<ProtocolIE-Field.h>
-#include "ProtocolExtensionField.h"
-#include "F1AP-PDU.h"
-#include "Cells-to-be-Activated-List.h"
-
-#include "envopt.h"        /* Environment options */
-#include "envdep.h"        /* Environment dependent */
-#include "envind.h"        /* Environment independent */
-#include "gen.h"           /* General */
-#include "ssi.h"           /* System services */
-#include "ss_queue.h"
-#include "ss_task.h"
-#include "ss_msg.h"
-
-#include "gen.x"           /* General */
-#include "ssi.x"   /* System services */
-#include "ss_queue.x"
-#include "ss_task.x"
-#include "ss_msg.x"
-
-#include "du_log.h"
-
 #define ENCODE_FAIL -1
 #define TRANS_ID 1
 #define RRC_SIZE 1
-#define ENC_BUF_MAX_LEN 100
 #define SUL_BAND_COUNT 0
 #define UL_SRBID        1
 #define DL_SRBID        0
 #define CU_ID           1
 #define CRNTI           17017
 #define CELL_INDEX      0
+#define SRB0 0
+#define SRB1 1
+#define SRB2 2
+#define DRB1 1
+#define DRB2 2
+#define DRB3 3
+#define QCI  9
+#define MAX_DRB_SET_UE_CONTEXT_SETUP_REQ 2  /*Number of DRBs to be added using UE CONTEXT SETUP procedure*/
+#define MAX_DRB_SET_UE_CONTEXT_MOD_REQ 1     /*Number of DRBs to be added/setup via UE CONTEXT MODIFICATION procedure*/
+#define MAX_DRB_MODIFIED_UE_MOD_REQ 1        /*Currently CU trigger Modification of 2DRBs*/
+#define DRB_ID_TO_ADD_MOD MAX_DRB_SET_UE_CONTEXT_SETUP_REQ+1 /*The DRB ID: which will be added using Modification Procedure*/
 
+/*Total num of DRBs added using UE COntext Setup and Modification procedures*/
+#define MAX_NUM_DRB_ADDED_PER_UE (MAX_DRB_SET_UE_CONTEXT_SETUP_REQ + MAX_DRB_SET_UE_CONTEXT_MOD_REQ)
 
-/* allocate and zero out a static buffer */
-#define CU_ALLOC(_datPtr, _size)                                \
-{                                                               \
-   S16 _ret;                                                    \
-   _ret = SGetSBuf(CU_APP_MEM_REG, CU_POOL,                  \
-                    (Data **)&_datPtr, _size);                  \
-   if(_ret == ROK)                                              \
-      cmMemset((U8*)_datPtr, 0, _size);                         \
-   else                                                         \
-      _datPtr = NULLP;                                          \
-}
-
-/* free a static buffer */
-#define CU_FREE(_datPtr, _size)                                 \
-   if(_datPtr)                                                  \
-      SPutSBuf(CU_APP_MEM_REG, CU_POOL,                      \
-         (Data *)_datPtr, _size);
-
-
+#define CU_UE_F1AP_ID 0
+#define DU_UE_F1AP_ID 1
+#define SP_CELL_ID     2
+#define SERV_CELL_IDX 3
+#define CU_TO_DU_RRC_INF 4
 
-void F1APMsgHdlr(Buffer *mBuf);
+#define RRC_SETUP 1
+#define REGISTRATION_ACCEPT 2
+#define UE_CONTEXT_SETUP_REQ 3
+#define UE_CONTEXT_SETUP_RSP 4
+#define SECURITY_MODE_COMPLETE 5
+#define RRC_RECONFIG 6
+#define UE_CONTEXT_MOD_REQ 7
+#define NUM_QOS_EXT 1
 
+typedef struct f1apDb
+{
+   uint8_t dlRrcMsgCount;
+   OCTET_STRING_t duToCuContainer;
+}F1apMsgDb;
+  
+void F1APMsgHdlr(uint32_t *destDuId, Buffer *mBuf);
+uint8_t BuildAndSendUeContextModificationReq(uint32_t duId, void *ueCb);
+uint8_t BuildAndSendUeContextReleaseCommand(uint32_t duId, uint8_t cuUeF1apId, uint8_t duUeF1apId);
+uint8_t BuildAndSendF1ResetReq();
 /**********************************************************************
          End of file
 **********************************************************************/