*******************************************************************************/
/* This file contains all E2AP message handler related functionality */
-#include<stdio.h>
-#include<sys/types.h>
-#include<string.h>
-#include<ProtocolIE-FieldE2.h>
-#include "E2AP-PDU.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 SUL_BAND_COUNT 0
#define UL_SRBID 1
#define DL_SRBID 0
#define DU_ID 1
-#define RIC_ID 1
+#define RIC_ID 1
#define CRNTI 17017
#define CELL_INDEX 0
+#define RIC_STYLE_TYPE 1
+
+/* if config type is CONFIG_ADD then
+ * for action Id = n, RIC_ACTION_GRANULARITY_PERIOD = 100+ n*100
+ * else config type is CONFIG_MOD then
+ * for action Id = n, RIC_ACTION_GRANULARITY_PERIOD = 100 +50(n+1) */
+#define RIC_ACTION_GRANULARITY_PERIOD(_configType, _actionId) \
+ ((_configType == CONFIG_ADD) ? (100 + 100 * _actionId ) : ( 100 + 50 *( _actionId +1)))
/* allocate and zero out a static buffer */
#define RIC_ALLOC(_datPtr, _size) \
{ \
- S16 _ret; \
+ uint8_t _ret; \
_ret = SGetSBuf(RIC_APP_MEM_REG, RIC_POOL, \
(Data **)&_datPtr, _size); \
if(_ret == ROK) \
- cmMemset((U8*)_datPtr, 0, _size); \
+ memset(_datPtr, 0, _size); \
else \
_datPtr = NULLP; \
}
-extern char encBuf[ENC_BUF_MAX_LEN];
-int encBufSize;
-void E2APMsgHdlr(Buffer *mBuf);
-S16 BuildAndSendE2SetupReq();
+void E2APMsgHdlr(uint32_t *duId, Buffer *mBuf);
+uint8_t BuildAndSendE2SetupRsp(DuDb *duDb, uint8_t transId, E2NodeConfigList e2NodeList);
+uint8_t BuildAndSendRicSubscriptionReq(DuDb *duDb);
+uint8_t SendE2APMsg(Region region, Pool pool, uint32_t duId);
+uint8_t BuildAndSendRicServiceQuery(DuDb *duDb);
+uint8_t BuildAndSendE2NodeConfigUpdateFailure(uint32_t duId, uint8_t transId, uint8_t causeInfo, uint8_t causeReason);
+uint8_t fillE2NodeConfigAck(PTR e2NodeCfg, uint8_t procedureCode, E2NodeComponent *componentInfo, bool isSuccessful);
+E2NodeComponent *fetchE2NodeComponentInfo(DuDb *duDb, InterfaceType interfaceType,CmLList **e2ComponentNode);
+uint8_t handleE2NodeComponentAction(DuDb *duDb, PTR e2NodeCfg, uint8_t protocolId, E2NodeConfigItem *storeCfg);
+uint8_t BuildAndSendE2NodeConfigUpdateAck(DuDb *duDb, uint8_t transId, E2NodeConfigList *e2NodeList);
+uint8_t BuildAndSendConnectionUpdate(uint32_t duId);
+uint8_t BuildAndSendE2ConnectionUpdate(uint32_t duId, E2Connection connectionInfo);
+uint8_t BuildAndSendRicSubscriptionDeleteRequest(uint32_t duId, RicSubscription *ricSubsDb);
+void BuildRicSubsModificationReq(DuDb *duDb, RicSubscription *ricSubsInfo);
/**********************************************************************
End of file