implementation of RLC UE delete req and rsp JIRA-ID : ODUHIGH-43
[o-du/l2.git] / src / 5gnrrlc / rlc_upr_inf_api.c
1 /*******************************************************************************
2 ################################################################################
3 #   Copyright (c) [2017-2019] [Radisys]                                        #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 *******************************************************************************/
18 #include "common_def.h"
19 #include "du_app_rlc_inf.h"
20
21 /* Function pointer array for UL RRC Msg Transfer */
22 RlcUlRrcMsgToDuFunc rlcSendUlRrcMsgToDuOpts[] = 
23 {
24    packRlcUlRrcMsgToDu,       /* 0 - Loosely coupled */
25    DuProcRlcUlRrcMsgTrans,    /* 1 - Tightly coupled */
26    packRlcUlRrcMsgToDu        /* 2 - Light weight loosely coupled */
27 };
28
29 RlcRrcDeliveryReportToDuFunc rlcSendRrcDeliveryReportToDuOpts[]=
30 {
31    packRrcDeliveryReportToDu,          /* 0 - Loosely coupled */
32    DuProcRlcRrcDeliveryReport,    /* 1 - Tightly coupled */
33    packRrcDeliveryReportToDu           /* 2 - Light weight loosely coupled */
34 };
35
36 /* Function pointer array for DL RRC Msg Rsp Transfer */
37 RlcDlRrcMsgRspToDuFunc rlcSendDlRrcMsgRspToDuOpts[] = 
38 {
39    packRlcDlRrcMsgRspToDu,       /* 0 - Loosely coupled */
40    DuProcRlcDlRrcMsgRsp,         /* 1 - Tightly coupled */
41    packRlcDlRrcMsgRspToDu        /* 2 - Light weight loosely coupled */
42 };
43
44 /* Function pointer array for UL RRC Msg Transfer */
45 RlcUlUserDataToDuFunc rlcSendUlUserDataToDuOpts[] =
46 {
47    packRlcUlUserDataToDu,       /* 0 - Loosely coupled */
48    DuProcRlcUlUserDataTrans,    /* 1 - Tightly coupled */
49    packRlcUlUserDataToDu        /* 2 - Light weight loosely coupled */
50 };
51
52 RlcDuUeDeleteRsp rlcUeDeleteRspOpts[] =
53 {
54    packRlcDuUeDeleteRsp,     /* 0 - loosely coupled */
55    DuProcRlcUeDeleteRsp,     /* 1 - tightly coupled */
56    packRlcDuUeDeleteRsp     /* 2 - LWLC loosely coupled */
57 };
58
59 /*******************************************************************
60  *
61  * @brief Sends UL RRC Message Info to DU APP
62  *
63  * @details
64  *
65  *    Function : rlcSendUlRrcMsgToDu
66  *
67  *    Functionality:  Sends UL RRC Message Info to DU APP
68  *
69  * @params[in] Pst structure
70  *             UL RRC Msg Info
71  * @return ROK     - success
72  *         RFAILED - failure
73  *
74  * ****************************************************************/
75 uint8_t rlcSendUlRrcMsgToDu(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo)
76 {
77    return (*rlcSendUlRrcMsgToDuOpts[pst->selector])(pst, ulRrcMsgInfo);
78 }
79
80 /*******************************************************************
81 *
82 * @brief Sends RRC delivery Message Info to DU APP
83 *
84 * @details
85 *
86 *    Function : rlcSendRrcDeliveryReportToDu
87 *
88 *    Functionality:  Sends RRC delivery Message Info to DU APP
89 *
90 * @params[in] Pst structure
91 *             RRC delivery Msg Info
92 * @return ROK     - success
93 *         RFAILED - failure
94 *
95 * ****************************************************************/
96 uint8_t rlcSendRrcDeliveryReportToDu(Pst *pst, RrcDeliveryReport *rrcDelivery) 
97 {
98    return (*rlcSendRrcDeliveryReportToDuOpts[pst->selector])(pst, rrcDelivery);
99 }
100 /*******************************************************************
101  *
102  * @brief Sends DL RRC Message Status to DU APP
103  *
104  * @details
105  *
106  *    Function : rlcSendDlRrcMsgRspToDu
107  *
108  *    Functionality:  Sends DL RRC Message Status to DU APP
109  *
110  * @params[in] Pst structure
111  *             DL RRC Msg Info
112  * @return ROK     - success
113  *         RFAILED - failure
114  *
115  * ****************************************************************/
116 uint8_t rlcSendDlRrcMsgRspToDu(Pst *pst, RlcDlRrcMsgRsp *dlRrcMsg)
117 {
118    return (*rlcSendDlRrcMsgRspToDuOpts[pst->selector])(pst, dlRrcMsg);
119 }
120
121 /*******************************************************************
122  *
123  * @brief Sends UL User data Info to DU APP
124  *
125  * @details
126  *
127  *    Function : rlcSendUlUserDataToDu
128  *
129  *    Functionality:  Sends UL User Data Info to DU APP
130  *
131  * @params[in] Pst structure
132  *             UL user data Info
133  * @return ROK     - success
134  *         RFAILED - failure
135  *
136  * ****************************************************************/
137 uint8_t rlcSendUlUserDataToDu(Pst *pst, RlcUlUserDatInfo *ulUserData)
138 {
139    return (*rlcSendUlUserDataToDuOpts[pst->selector])(pst, ulUserData);
140 }
141
142 /*******************************************************************
143  *
144  * @brief Sends Ue Delete Rsp to DU APP
145  *
146  * @details
147  *
148  *    Function : rlcSendUeDeleteRspToDu 
149  *
150  *    Functionality:  Sends Ue Delete Rsp to DU APP
151  *
152  * @params[in] Pst *pst, RlcUeDeleteRsp *ueDeleteRsp 
153  *             
154  * @return ROK     - success
155  *         RFAILED - failure
156  *
157  * ****************************************************************/
158 uint8_t rlcSendUeDeleteRspToDu(Pst *pst, RlcUeDeleteRsp *ueDeleteRsp)
159 {
160     return (*rlcUeDeleteRspOpts[pst->selector])(pst, ueDeleteRsp);
161 }
162
163 /**********************************************************************
164          End of file
165 **********************************************************************/