Added code for MAC-PHY interface, DU_APP, F1AP, SCTP and CU stub
[o-du/l2.git] / src / 5gnrpdcp / pj_ptli.c
diff --git a/src/5gnrpdcp/pj_ptli.c b/src/5gnrpdcp/pj_ptli.c
deleted file mode 100755 (executable)
index 9fb1ab5..0000000
+++ /dev/null
@@ -1,627 +0,0 @@
-/*******************************************************************************
-################################################################################
-#   Copyright (c) [2017-2019] [Radisys]                                        #
-#                                                                              #
-#   Licensed under the Apache License, Version 2.0 (the "License");            #
-#   you may not use this file except in compliance with the License.           #
-#   You may obtain a copy of the License at                                    #
-#                                                                              #
-#       http://www.apache.org/licenses/LICENSE-2.0                             #
-#                                                                              #
-#   Unless required by applicable law or agreed to in writing, software        #
-#   distributed under the License is distributed on an "AS IS" BASIS,          #
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
-#   See the License for the specific language governing permissions and        #
-#   limitations under the License.                                             #
-################################################################################
-*******************************************************************************/
-
-/********************************************************************20**
-  
-        Name:    RLC service user (PDCP) lower interface
-    
-        Type:    C file
-  
-        Desc:    This file Contains the RLC service user lower interface
-                  primitive implementain
-        File:    pj_ptli.c
-  
-*********************************************************************21*/
-\f
-/* header (.h) include files */
-#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 "cm5.h"           /* common timer defines */
-#include "cm_tkns.h"       /* common tokens defines */
-#include "cm_mblk.h"       /* common memory allocation library defines */
-#include "cm_llist.h"      /* common link list  defines  */
-#include "cm_hash.h"       /* common hash list  defines */
-#include "cm_lte.h"        /* common LTE defines */
-#include "kwu.h"           /* KWU defines */
-#include "pj_err.h"        
-
-/* extern (.x) include files */
-#include "gen.x"           /* general */
-#include "ssi.x"           /* system services */
-//#if defined(PDCP_RLC_DL_RBUF)
-#include "ss_rbuf.h"
-#include "ss_rbuf.x"
-#include "kwu.h"                /* PJU */
-#include "ss_queue.h"
-#include "ss_queue.x"
-#include "ss_task.h"
-#include "ss_task.x"
-#include "ss_timer.x"           /* System services */
-#include "ss_msg.h"           /* System services */
-#include "ss_msg.x"           /* System services */
-#include "ss_mem.h"           /* System services */
-#include "ss_mem.x"           /* System services */
-#include "ss_drvr.x"
-#include "ss_gen.h"
-#include "ss_gen.x"
-//#endif
-
-#include "cm5.x"           /* common timer library */
-#include "cm_tkns.x"       /* common tokens */
-#include "cm_mblk.x"       /* common memory allocation */
-#include "cm_llist.x"      /* common link list */
-#include "cm_hash.x"       /* common hash list */
-#include "cm_lte.x"        /* common LTE includes */
-#include "cm_lib.x"        /* common memory allocation library */
-#include "kwu.x"           /* KWU */
-
-
-PUBLIC U8 SUpdMbufMemInfo (Pst    *pst,Buffer *mBuf);
-#if defined(PDCP_RLC_DL_RBUF) && !defined(SS_RBUF)
-PUBLIC S16 pjKwuRbufDatReq(Pst * pst,SpId spId,KwuDatReqInfo* datReq,Buffer * mBuf);
-#endif
-
-EXTERN S16 PtLiKwuBndReq ARGS ((
-Pst         *post,
-SuId        suId,
-SpId        spId
-));
-
-EXTERN S16 PtLiKwuUbndReq ARGS ((
-Pst         *post,
-SpId        spId,
-Reason      reason
-));
-
-EXTERN S16 PtLiKwuDiscSduReq ARGS ((
-Pst               *post,
-SpId              spId,
-KwuDiscSduInfo    *discSdu
-));
-
-EXTERN S16 PtLiKwuDatReq ARGS ((
-Pst            *post,
-SpId           spId,
-KwuDatReqInfo  *datReq,
-Buffer         *mBuf
-));
-\f
-/************************************************************************
-                             KWU Interface Matrices
-************************************************************************/
-
-PUBLIC KwuBndReq pjLiKwuBndReqMt [] =
-{
-#ifdef LCKWUIKWU
-   cmPkKwuBndReq,        /* 0 - loosely coupled */
-#else
-   PtLiKwuBndReq,        /* 0 - loosely coupled, portable */
-#endif
-#ifdef KW
-   KwUiKwuBndReq,        /* 1 - tightly coupled, stub layer */
-#else
-   PtLiKwuBndReq,        /* 1 - tightly coupled, portable */
-#endif
-#ifdef LWLCKWUIKWU
-   cmPkKwuBndReq,        /* 3 - light weight loosely coupled */
-#else
-   PtLiKwuBndReq,        /* 3 - light weight loosely coupled, portable */
-#endif
-};
-
-PUBLIC KwuUbndReq pjLiKwuUbndReqMt [] =
-{
-#ifdef LCKWUIKWU 
-   cmPkKwuUbndReq,        /* 0 - loosely coupled */
-#else
-   PtLiKwuUbndReq,        /* 0 - loosely coupled, portable */
-#endif
-#ifdef KW
-   KwUiKwuUbndReq,        /* 1 - tightly coupled, stub layer */
-#else
-   PtLiKwuUbndReq,        /* 1 - tightly coupled, portable */
-#endif
-#ifdef LWLCKWUIKWU 
-   cmPkKwuUbndReq,        /* 3 - light weight loosely coupled */
-#else
-   PtLiKwuUbndReq,        /* 3 - light weight loosely coupled, portable */
-#endif
-};
-
-PUBLIC KwuDatReq pjLiKwuDatReqMt [] =
-{
-#ifdef LCKWUIKWU
-   cmPkKwuDatReq,        /* 0 - loosely coupled */
-#else
-   PtLiKwuDatReq,        /* 0 - loosely coupled, portable */
-#endif
-#ifdef KW
-   KwUiKwuDatReq,        /* 1 - tightly coupled, stub layer */
-#else
-   PtLiKwuDatReq,        /* 1 - tightly coupled, portable */
-#endif
-#ifdef LWLCKWUIKWU
-   cmPkKwuDatReq,        /* 3 - light weight loosely coupled */
-#else
-   PtLiKwuDatReq,        /* 3 - light weight loosely coupled, portable */
-#endif
-};
-
-PUBLIC KwuDiscSduReq pjLiKwuDiscSduReqMt [] =
-{
-#ifdef LCKWUIKWU
-   cmPkKwuDiscSduReq,        /* 0 - loosely coupled */
-#else
-   PtLiKwuDiscSduReq,        /* 0 - loosely coupled, portable */
-#endif
-#ifdef KW
-   KwUiKwuDiscSduReq,        /* 1 - tightly coupled, stub layer */
-#else
-   PtLiKwuDiscSduReq,        /* 1 - tightly coupled, portable */
-#endif
-#ifdef LWLCKWUIKWU
-   cmPkKwuDiscSduReq,        /* 3 - light weight loosely coupled */
-#else
-   PtLiKwuDiscSduReq,        /* 3 - light weight loosely coupled, portable */
-#endif
-};
-
-\f
-/****************************************************************************
- *                         KWU Interface Mt functions
- ***************************************************************************/
-/**
- *
- * @brief 
- *
- *        PjLiKwuBndReq - KWU SAP bind Request
- *
- *  @param[in] pst   - Post structure  
- *  @param[in] suId  - Service user SAP ID 
- *  @param[in] spId  - Service provider ID
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PjLiKwuBndReq
-(
-Pst *pst,                       /* post structure */
-SuId suId,                      /* Service User Id */
-SpId spId                       /* Service Provider Id */
-)
-#else
-PUBLIC S16 PjLiKwuBndReq(pst, suId, spId)
-Pst *pst;                       /* post structure */
-SuId suId;                      /* Service User Id */
-SpId spId;                      /* Service Provider Id */
-#endif
-{
-   TRC3(PjLiKwuBndReq)
-
-   /* jump to specific primitive depending on configured selector */
-   (*pjLiKwuBndReqMt[pst->selector])(pst, suId, spId);
-
-   RETVALUE(ROK);
-
-} /* end of PjLiKwuBndReq */
-
-\f
-/**
- *
- * @brief 
- *
- *        PjLiKwuUbndReq - KWU SAP unbind Request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] spId    - Service provider SAP ID 
- *  @param[in] reason  - Reason
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PjLiKwuUbndReq
-(
-Pst         *pst,
-SpId        spId,
-Reason      reason
-)
-#else
-PUBLIC S16 PjLiKwuUbndReq(pst, spId, reason)
-Pst         *pst;
-SpId        spId;
-Reason      reason;
-#endif
-{
-   TRC3(PjLiKwuUbndReq)
-
-   /* jump to specific primitive depending on configured selector */
-   (*pjLiKwuUbndReqMt[pst->selector])(pst, spId, reason);
-
-   RETVALUE(ROK);
-
-} /* end of PjLiKwuUbndReq */
-
-\f
-/**
- *
- * @brief 
- *
- *        PjLiKwuDatReq - KWU Data Request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] spId    - Service provider SAP ID 
- *  @param[in] datReq  - Data Request
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PjLiKwuDatReq
-(
-Pst            *pst,
-SpId           spId,
-KwuDatReqInfo  *datReq,
-Buffer         *mBuf
-)
-#else
-PUBLIC S16 PjLiKwuDatReq(pst, spId, datReq, mBuf)
-Pst            *pst;
-SpId           spId;
-KwuDatReqInfo  *datReq;
-Buffer         *mBuf;
-#endif
-{
-   S16 ret = ROK;
-
-   TRC3(PjLiKwuDatReq)
-#if defined(PDCP_RLC_DL_RBUF) && !defined(SS_RBUF)
-   if(datReq->lcType == CM_LTE_LCH_DTCH)
-   {
-      if((pjKwuRbufDatReq(pst,spId, datReq, mBuf)) != ROK)
-      {
-         /* Posting the message as ring buffer write failure */
-         ret = RFAILED;
-      }
-   }
-   else
-#endif
-   {   
-      /* jump to specific primitive depending on configured selector */
-      ret = (*pjLiKwuDatReqMt[pst->selector])(pst, spId, datReq, mBuf);
-   }
-   RETVALUE(ret);
-
-} /* end of PjLiKwuDatReq */
-
-\f
-/**
- *
- * @brief 
- *
- *        PjLiKwuDiscSduReq - KWU Discard SDU Request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] spId    - Service provider SAP ID 
- *  @param[in] datReq  - Data Request
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PjLiKwuDiscSduReq
-(
-Pst               *pst,
-SpId              spId,
-KwuDiscSduInfo    *discSdu
-)
-#else
-PUBLIC S16 PjLiKwuDiscSduReq(pst, spId, discSdu)
-Pst               *pst;
-SpId              spId;
-KwuDiscSduInfo    *discSdu;
-#endif
-{
-   TRC3(PjLiKwuDiscSduReq)
-
-   /* jump to specific primitive depending on configured selector */
-   (*pjLiKwuDiscSduReqMt[pst->selector])(pst, spId, discSdu);
-
-   RETVALUE(ROK);
-
-} /* end of PjLiKwuDiscSduReq */
-
-/****************************************************************************
- *                         Porting Functions
- ***************************************************************************/
-/**
- *
- * @brief 
- *
- *        PtLiKwuBndReq - portable bind request
- *
- *  @param[in] pst   - Post structure  
- *  @param[in] suId  - Service user SAP ID 
- *  @param[in] spId  - Service provider ID
- *
- *  @return  S16
- *      -# ROK 
- */
-
-#ifdef ANSI
-PUBLIC S16 PtLiKwuBndReq
-(
-Pst         *post,
-SuId        suId,
-SpId        spId
-)
-#else
-PUBLIC S16 PtLiKwuBndReq(post, suId, spId)
-Pst         *post;
-SuId        suId;
-SpId        spId;
-#endif /* ANSI */
-{
-   TRC3(PtLiKwuBndReq)
-#if (ERRCLASS & ERRCLS_DEBUG)
- /*  S16 ret1;    */
-   SLogError(post->srcEnt, post->srcInst, post->srcProcId,
-        __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
-         (ErrVal)EPJXXX, (ErrVal)ERRZERO, "Improper selector for NhLiKwuBndReq\n");
-   RETVALUE( RFAILED );
-#endif /* (ERRCLASS & ERRCLS_DEBUG) */
-   UNUSED(post);
-   UNUSED(suId);
-   UNUSED(spId);
-
-   RETVALUE(ROK);
-} /* end of PtLiKwuBndReq() */
-
-\f  
-/**
- *
- * @brief 
- *
- *        PtLiKwuUbndReq - portable unbind request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] suId    - Service provider SAP ID 
- *  @param[in] reason  - Reason
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PtLiKwuUbndReq
-(
-Pst         *post,
-SpId        spId,
-Reason      reason
-)
-#else
-PUBLIC S16 PtLiKwuUbndReq(post, spId, reason)
-Pst         *post;
-SpId        spId;
-Reason      reason;
-#endif /* ANSI */
-{
-   TRC3(PtLiKwuUbndReq)
-#if (ERRCLASS & ERRCLS_DEBUG)
-  /* S16 ret1; */
-   SLogError(post->srcEnt, post->srcInst, post->srcProcId,
-        __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
-         (ErrVal)EPJXXX, (ErrVal)ERRZERO, "Improper selector for NhLiKwuUbndReq\n");
-   RETVALUE( RFAILED );
-#endif /* (ERRCLASS & ERRCLS_DEBUG) */
-   UNUSED(post);
-   UNUSED(spId);
-   UNUSED(reason);
-   
-   RETVALUE(ROK);
-} /* end of PtLiKwuUbndReq() */
-
-/**
- *
- * @brief 
- *
- *        PtLiKwuDiscSduReq - portable discard SDU request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] spId    - Service provider SAP ID 
- *  @param[in] datReq  - Data Request
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PtLiKwuDiscSduReq
-(
-Pst               *post,
-SpId              spId,
-KwuDiscSduInfo    *discSdu
-)
-#else
-PUBLIC S16 PtLiKwuDiscSduReq(post, spId, discSdu)
-Pst               *post;
-SpId              spId;
-KwuDiscSduInfo    *discSdu;
-#endif /* ANSI */
-{
-   TRC3(PtLiKwuDiscSduReq)
-#if (ERRCLASS & ERRCLS_DEBUG)
-  /* S16 ret1; */
-   SLogError(post->srcEnt, post->srcInst, post->srcProcId,
-        __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
-         (ErrVal)EKWU010, (ErrVal)ERRZERO, "Improper selector for NhLiKwuDiscSduReq\n");
-   RETVALUE( RFAILED );
-
-#endif /* (ERRCLASS & ERRCLS_DEBUG) */
-   UNUSED(post);
-   UNUSED(spId);
-   UNUSED(discSdu);
-
-   RETVALUE(ROK);
-} /* end of PtLiKwuDiscSduReq() */
-
-/**
- *
- * @brief 
- *
- *        PtLiKwuDatReq - portable data request
- *
- *  @param[in] pst     - Post structure  
- *  @param[in] spId    - Service provider SAP ID 
- *  @param[in] datReq  - Data Request
- *
- *  @return  S16
- *      -# ROK 
- */
-#ifdef ANSI
-PUBLIC S16 PtLiKwuDatReq
-(
-Pst            *pst,
-SpId           spId,
-KwuDatReqInfo  *datReq,
-Buffer         *mBuf
-)
-#else
-PUBLIC S16 PtLiKwuDatReq(pst, spId, datReq, mBuf)
-Pst            *pst;
-SpId           spId;
-KwuDatReqInfo  *datReq;
-Buffer         *mBuf;
-#endif /* ANSI */
-{
-   TRC3(PtLiKwuDatReq)
-#if (ERRCLASS & ERRCLS_DEBUG)
-  /* S16 ret1; */
-   SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
-        __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
-         (ErrVal)EPJXXX, (ErrVal)ERRZERO, "Improper selector for NhLiKwuDatReq\n");
-   RETVALUE( RFAILED );
-#endif /* (ERRCLASS & ERRCLS_DEBUG) */
-   UNUSED(pst);
-   UNUSED(spId);
-   UNUSED(datReq);
-   UNUSED(mBuf);
-
-   RETVALUE(ROK);
-} /* end of PtLiKwuDatReq() */
-/*
-*
-*       Fun:   SUpdMbufMemInfo
-*
-*       Desc:  This function is used to get the mem region info of a task.
-*
-*       Ret:   ROK      - ok
-*              RFAILED  - failed, general (optional)
-*
-*
-*       File:  ss_task.c
-*
-*/
-#ifdef TENB_T2K3K_SPECIFIC_CHANGES
-#ifdef ANSI
-PUBLIC U8 SUpdMbufMemInfo 
-(
-Pst    *pst,
-Buffer *mBuf
-)
-#else
-PUBLIC U8 SUpdMbufMemInfo(pst,mBuf)
-Pst    *pst;
-Buffer *mBuf;
-#endif
-{
-   SsMsgInfo *minfo;
-   SsTTskEntry *tTsk;
-   SsIdx       dstIdx;
-
-
-   minfo = (SsMsgInfo*) mBuf->b_rptr;
-
-   dstIdx = osCp.tTskIds[pst->dstEnt][pst->dstInst];
-   tTsk = &osCp.tTskTbl[dstIdx];
-#ifdef SS_MULTICORE_SUPPORT
-   minfo->region = tTsk->sTsk->region;
-#endif /* SS_MULTICORE_SUPPORT */
-   RETVALUE(ROK);
-}
-#endif
-
-#if defined(PDCP_RLC_DL_RBUF) && !defined(SS_RBUF)
-#ifdef ANSI
-PUBLIC S16 pjKwuRbufDatReq
-(
-Pst * pst,
-SpId spId,
-KwuDatReqInfo* datReq,
-Buffer * mBuf
-)
-#else
-PUBLIC S16 pjKwuRbufDatReq(pst, spId, datReq, mBuf)
-Pst * pst;
-SpId spId;
-KwuDatReqInfo* datReq;
-Buffer * mBuf;
-#endif
-{
-   S16 ret1 = ROK;
-   
-   Void *elem = NULLP;
-   KwuDatReqDetl *kwuDatReqDetl = NULLP;
-
-   elem = SRngGetWIndx(SS_RNG_BUF_DLPDCP_TO_DLRLC);
-   if (NULLP != elem)
-   {
-      kwuDatReqDetl = (KwuDatReqDetl *) elem;
-      kwuDatReqDetl->spId = spId;
-      kwuDatReqDetl->lcType = datReq->lcType;
-      kwuDatReqDetl->sduId = datReq->sduId;
-      kwuDatReqDetl->rlcId = datReq->rlcId;
-      kwuDatReqDetl->mBuf = mBuf;
-      /* Commenting below function because memory region mapped with threadId*/
-      /* SUpdMbufMemInfo(pst, mBuf);*/
-      SRngIncrWIndx(SS_RNG_BUF_DLPDCP_TO_DLRLC);
-      SsRngInfoTbl[SS_RNG_BUF_DLPDCP_TO_DLRLC].pktRate++;
-   }   
-   else
-   {
-#if (ERRCLASS & ERRCLS_DEBUG)
-       SLogError(ENTPJ, 0, SFndProcId(),
-               __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
-               (ErrVal)EPJXXX, (ErrVal)ERRZERO, "PDCP-DL RBUF is FULL!!!\n");
-#endif /* (ERRCLASS & ERRCLS_DEBUG) */
-      SsRngInfoTbl[SS_RNG_BUF_DLPDCP_TO_DLRLC].pktDrop++;
-      ret1 = RFAILED;
-   }
-   RETVALUE(ret1);
-} /* cmPkKwuDatReq */
-
-#endif /* PDCP_RLC_DL_RBUF */
-
-\f  
-/********************************************************************30**
-         End of file
-**********************************************************************/