1e160ca7e1fbfb67a8a351704879261b140d00c0
[o-du/l2.git] / src / cm / crg.h
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      Name:     LTE-MAC layer 
21   
22      Type:     C include file 
23   
24      Desc:     Defines required by the LTE MAC-RRC control (CRG) interface
25
26      File:     crg.h 
27
28 **********************************************************************/
29
30 #ifndef __CRG_H__
31 #define __CRG_H__
32
33 /** 
34   @file crg.h 
35   @brief Defines for CRG interface.
36   */
37
38 /* Config/Reconfig/Delete MACROs */
39 #define CRG_CONFIG   1     /*!< Macro for action type Configuration */
40 #define CRG_RECONFIG 2     /*!< Macro for action type Re-Configuration */
41 #define CRG_DELETE   3     /*!< Macro for action type Delete */
42 #define CRG_RESET    4     /*!< Macro for action type Reset. Applicable
43                             *   only for UE. */
44
45 /* Cell/Ue/Logical channel MACROs */
46 /* crg_h_001.main_6: Removed transport channel types from CRG. */
47 #define CRG_CELL_CFG 1     /*!< Macro for Cell Configuration type*/
48 #define CRG_UE_CFG   2     /*!< Macro for UE configuration type*/
49 #define CRG_LCH_CFG  3     /*!< Macro for Logical channel Configuration type*/
50 #define CRG_SCELL_CFG 4    /*!< Macro for SCell Configuration type*/
51
52 #ifdef LTE_ADV
53 #define CRG_MAX_SCELL_PER_UE 7 /*!<Max SCELl Per UE */
54 #endif
55 /* Transport channel types related MACROs */
56 /* CRG related MAX Size MACROs */
57 #define CRG_CFG_TRANSID_SIZE 12  /*!< Macro for Transaction ID size */
58
59 /* Transmit/Recieve direction */
60 #define CRG_DIR_TX_RX CRG_DIR_TX | CRG_DIR_RX /*!< Macro for Transmit and Receive
61                                                *   direction Mask */
62 #define CRG_DIR_TX    (1<<0)                  /*!< Macro for Transmit 
63                                                *   direction Mask*/
64 #define CRG_DIR_RX    (1<<1)                  /*!< Macro for Receive
65                                                *   direction Mask*/
66
67 /* Confirm Status related MACROs */
68 #define CRG_CFG_CFM_OK  0x00 /*!< Macro for Positive confirmation */
69 #define CRG_CFG_CFM_NOK 0x0F /*!< Macro for Negative confirmation */
70
71 /* Event corresponding to each primitive at this interface */
72 #define EVTCRGBNDREQ   1     /*!< Macro for Bind Request */
73 #define EVTCRGBNDCFM   2     /*!< Macro for Bind Confirm */
74 #define EVTCRGUBNDREQ  3     /*!< Macro for Un-Bind Request */
75 #define EVTCRGCFGREQ   4     /*!< Macro for Configuration Request */
76 #define EVTCRGCFGCFM   5     /*!< Macro for Configuration Confirm */
77
78 /* Activation time limit in terms of number of frames */
79 #define CRG_ACTV_WIN_SIZE 20 /*!< Macro for Size of activation time window
80                                 (in terms of number of frames) */
81
82 /* pack unpack error code */
83 #define ECRGXXX 0  /* reserved */
84 #define ERRCRG                  0
85
86 /* crg_h_001.main_7 - MODIFY - Added comments to these event definitions */
87 #define   ECRG001      (ERRCRG +    1)    /*        crg.c: 153 */
88 #define   ECRG002      (ERRCRG +    2)    /*        crg.c: 161 */
89 #define   ECRG003      (ERRCRG +    3)    /*        crg.c: 170 */
90 #define   ECRG004      (ERRCRG +    4)    /*        crg.c: 217 */
91 #define   ECRG005      (ERRCRG +    5)    /*        crg.c: 226 */
92 #define   ECRG006      (ERRCRG +    6)    /*        crg.c: 270 */
93 #define   ECRG007      (ERRCRG +    7)    /*        crg.c: 278 */
94 #define   ECRG008      (ERRCRG +    8)    /*        crg.c: 287 */
95 #define   ECRG009      (ERRCRG +    9)    /*        crg.c: 335 */
96 #define   ECRG010      (ERRCRG +   10)    /*        crg.c: 344 */
97 #define   ECRG011      (ERRCRG +   11)    /*        crg.c: 387 */
98 #define   ECRG012      (ERRCRG +   12)    /*        crg.c: 395 */
99 #define   ECRG013      (ERRCRG +   13)    /*        crg.c: 404 */
100 #define   ECRG014      (ERRCRG +   14)    /*        crg.c: 451 */
101 #define   ECRG015      (ERRCRG +   15)    /*        crg.c: 460 */
102 #define   ECRG016      (ERRCRG +   16)    /*        crg.c: 507 */
103 #define   ECRG017      (ERRCRG +   17)    /*        crg.c: 516 */
104 #define   ECRG018      (ERRCRG +   18)    /*        crg.c: 527 */
105 #define   ECRG019      (ERRCRG +   19)    /*        crg.c: 537 */
106 #define   ECRG020      (ERRCRG +   20)    /*        crg.c: 547 */
107 #define   ECRG021      (ERRCRG +   21)    /*        crg.c: 597 */
108 #define   ECRG022      (ERRCRG +   22)    /*        crg.c: 606 */
109 #define   ECRG023      (ERRCRG +   23)    /*        crg.c: 614 */
110 #define   ECRG024      (ERRCRG +   24)    /*        crg.c: 626 */
111 #define   ECRG025      (ERRCRG +   25)    /*        crg.c: 672 */
112 #define   ECRG026      (ERRCRG +   26)    /*        crg.c: 680 */
113 #define   ECRG027      (ERRCRG +   27)    /*        crg.c: 689 */
114 #define   ECRG028      (ERRCRG +   28)    /*        crg.c: 698 */
115 #define   ECRG029      (ERRCRG +   29)    /*        crg.c: 747 */
116 #define   ECRG030      (ERRCRG +   30)    /*        crg.c: 756 */
117 #define   ECRG031      (ERRCRG +   31)    /*        crg.c: 765 */
118
119 #endif /* __CRG_H__ */
120
121
122 /**********************************************************************
123   
124          End of file
125 **********************************************************************/