[Epic-ID: ODUHIGH-464][Task-ID: ODUHIGH-483] Memeory related fix in FDD and TDD mode
[o-du/l2.git] / src / 5gnrsch / rg_sch_hdfdd.x
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
19 /**********************************************************************
20  
21     Name:   LTE MAC HD-FDD 
22  
23     Type:   C include file
24  
25     Desc:   Defines required by HD-FDD 
26  
27     File:   rg_sch_hdfdd.x
28  
29 **********************************************************************/
30 /**
31  *  @file rg_sch_hdfdd.x This file gives the describes the design for Half
32  *  Duplex FDD feature.
33  *
34  *  Half duplex FDD operation is one in which the UE cannot receive and 
35  *  transmit at the same time. This is more of a UE limitation, chosen to 
36  *  reduce the complexity of the UE's hardware. In LTE the half duplex FDD 
37  *  is implemented such that the eNodeB schedules such that the UE doesn't 
38  *  transmit and receive in the same subframe. The UE unless informed that a 
39  *  subframe is for Uplink transmission continues to look at the PDCCH. 
40
41  *  Due to the delay in switching from downlink to uplink, UE is unable to 
42  *  receive the last few symbols of the subframe preceding the subframe 
43  *  assigned for uplink transmissions.Half duplex FDD is a UE specific 
44  *  configuration.
45 */
46
47  
48 #ifndef __RGHDFDDX__
49 #define __RGHDFDDX__
50
51 #ifdef __cplusplus
52 extern "C" {
53 #endif /* __cplusplus */
54
55
56
57
58 /******************************************************************************
59  *                         Start of Data declarations                         *
60  ******************************************************************************/
61
62 /**
63   @brief Half Duplex subframtion information stored per ue. */
64
65 typedef struct rgSchUeHdFddSfInfo
66 {
67   uint16_t             sfn;                   /*!< Store the sfn for updated state 
68                                               Default Value= 0xffff
69                                           */
70   uint8_t              state;
71                                          /*!< 0x00= DFLT
72                                               0x01= DL DATA +(OPT:CNTRL INFO)
73                                               0x02= DL CNTRL
74                                               0x04= UL DATA+(OPT: CTNRL INFO) 
75                                          */ 
76
77 }RgSchUeHdFddSfInfo;
78
79 /**
80   @brief Half Duplex control related information per ue. */
81
82 typedef struct rgSchUeHdFddCb
83 {
84    RgSchUeHdFddSfInfo    sf[RG_SCH_HDFDD_MAXSUB_INFO]; 
85     
86    CmLList               hdFddLstEnt;  /*!< Linked list entity for HD-FDD List */
87
88 }RgSchUeHdFddCb;
89
90
91
92
93 #ifdef __cplusplus
94 }
95 #endif /* __cplusplus */
96 #endif /* __RGHDFDD__ */
97
98 \f
99 /**********************************************************************
100          End of file
101 **********************************************************************/