ff4305862d9dccf2c63730b1ed522293623996eb
[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 /*******************************************************************
45  *
46  * @brief Sends UL RRC Message Info to DU APP
47  *
48  * @details
49  *
50  *    Function : rlcSendUlRrcMsgToDu
51  *
52  *    Functionality:  Sends UL RRC Message Info to DU APP
53  *
54  * @params[in] Pst structure
55  *             UL RRC Msg Info
56  * @return ROK     - success
57  *         RFAILED - failure
58  *
59  * ****************************************************************/
60 uint8_t rlcSendUlRrcMsgToDu(Pst *pst, RlcUlRrcMsgInfo *ulRrcMsgInfo)
61 {
62    return (*rlcSendUlRrcMsgToDuOpts[pst->selector])(pst, ulRrcMsgInfo);
63 }
64
65 /*******************************************************************
66 *
67 * @brief Sends RRC delivery Message Info to DU APP
68 *
69 * @details
70 *
71 *    Function : rlcSendRrcDeliveryReportToDu
72 *
73 *    Functionality:  Sends RRC delivery Message Info to DU APP
74 *
75 * @params[in] Pst structure
76 *             RRC delivery Msg Info
77 * @return ROK     - success
78 *         RFAILED - failure
79 *
80 * ****************************************************************/
81 uint8_t rlcSendRrcDeliveryReportToDu(Pst *pst, RrcDeliveryReport *rrcDelivery) 
82 {
83    return (*rlcSendRrcDeliveryReportToDuOpts[pst->selector])(pst, rrcDelivery);
84 }
85
86 /*******************************************************************
87  *
88  * @brief Sends DL RRC Message Status to DU APP
89  *
90  * @details
91  *
92  *    Function : rlcSendDlRrcMsgRspToDu
93  *
94  *    Functionality:  Sends DL RRC Message Status to DU APP
95  *
96  * @params[in] Pst structure
97  *             DL RRC Msg Info
98  * @return ROK     - success
99  *         RFAILED - failure
100  *
101  * ****************************************************************/
102 uint8_t rlcSendDlRrcMsgRspToDu(Pst *pst, RlcDlRrcMsgRsp *dlRrcMsg)
103 {
104    return (*rlcSendDlRrcMsgRspToDuOpts[pst->selector])(pst, dlRrcMsg);
105 }
106
107 /**********************************************************************
108          End of file
109 **********************************************************************/