[Epic-ID: ODUHIGH-461][Task-ID: ODUHIGH-468]Unused files and functions removed/disabled
[o-du/l2.git] / src / cm / lrg.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 layer
22  
23     Type:   C include file
24  
25     Desc:   Defines required by LTE MAC
26  
27     File:   lrg.x
28  
29 **********************************************************************/
30 /**
31   @file lrg.x
32   @brief Structure declarations and definitions for LRG interface.
33   */
34 #ifndef __LRGX__
35 #define __LRGX__
36
37
38 /* ccpu00121930 : ADD: c++ support*/
39 #ifdef __cplusplus
40 extern "C" {
41 #endif /* __cplusplus */
42
43 /** 
44  * @brief
45    This structure holds configuration parameters for MAC General Configuration. */
46 typedef struct rgGenCfg
47 {
48    Pst      lmPst;      /*!< Layer manager post structure */
49    MemoryId mem;        /*!< Region and pool ID */
50    uint8_t       tmrRes;     /*!< Timer resolution for Low SAP Bind Timer */
51    uint8_t       numRguSaps; /*!< Number of RGU SAP's */
52    uint8_t       startCellId;              /*!< Start cell id value */
53 #ifdef LTE_ADV
54    Bool     forceCntrlSrbBoOnPCel;   /*!< value 1 means scheduler will schedule
55                                           RLC control BO and SRBs only on PCEll
56                                           else it will schedule on both PCell
57                                           and SCell */
58    Bool     isSCellActDeactAlgoEnable; /*!< TRUE will enable activation/deactivation algo at Schd */
59 #endif
60 }RgGenCfg;
61
62 /** 
63  * @brief
64    This structure holds configuration parameters for MAC Upper SAP Configuration. */
65 typedef struct rgUpSapCfg
66 {
67    Selector selector;   /*!< Selector */
68    MemoryId mem;        /*!< Region and pool ID */
69    Priority prior;      /*!< Priority */
70    ProcId   procId;     /*!< Processor ID */
71    Ent      ent;        /*!< Entity ID */
72    Inst     inst;       /*!< Instance ID */
73    Route    route;      /*!< Route */
74    SpId     spId;       /*!< Service provider ID */
75    SuId     suId;       /*!< Service user ID */
76 }RgUpSapCfg;
77
78 /** 
79  * @brief
80    This structure holds configuration parameters for MAC Lower SAP Configuration. */
81 typedef struct rgLowSapCfg
82 {
83    Selector selector;   /*!< Selector */
84    MemoryId mem;        /*!< Region and pool ID */
85    Priority prior;      /*!< Priority */
86    ProcId   procId;     /*!< Processor ID */
87    Ent      ent;        /*!< Entity ID */
88    Inst     inst;       /*!< Instance ID */
89    Route    route;      /*!< Route */
90    SpId     spId;       /*!< Service provider ID */
91    SuId     suId;       /*!< Service user ID */
92    TmrCfg   bndTmr;     /*!< Bind Timer Value */
93 }RgLowSapCfg;
94
95 #ifdef MAC_SCH_STATS
96 /* Data structures */
97 typedef struct rgAckNack
98 {
99    uint8_t           mcs;
100    uint16_t          numOfNacks;
101    uint16_t          numOfAcks;
102 } RgAckNack;
103
104 typedef struct rgSchNackAckStats
105 {
106    RgAckNack dlCqiStat[15];   /*!< DL Stats */
107    RgAckNack ulCqiStat[15];   /*!< UL stats */
108 } RgSchNackAckStats;
109
110 typedef struct rgSchHqNumRetx
111 {
112    uint8_t           mcs;
113    uint16_t          numOfHQ_1;
114    uint16_t          numOfHQ_2;
115    uint16_t          numOfHQ_3;
116    uint16_t          numOfHQ_4;
117    uint32_t          totalTx;
118 } RgSchHqNumRetx;
119
120 typedef struct rgSchHqRetxStats
121 {
122    RgSchHqNumRetx    dlCqiStat[15];   /*!< DL Stats */
123    RgSchHqNumRetx    ulCqiStat[15];   /*!< UL stats */
124 } RgSchHqRetxStats;
125
126 RgSchNackAckStats hqFailStats;
127 RgSchHqRetxStats  hqRetxStats;
128 #endif /* MAC_SCH_STATS */
129
130 /** 
131  * @brief
132    This structure holds General statistical information of MAC. */
133 typedef struct rgGenSts
134 {
135    uint32_t numHarqFail;      /*!< Number of HARQ failures */
136    uint32_t numUeCfg;         /*!< Number of UEs configured */
137    uint16_t numCellCfg;       /*!< Number of Cells configured */
138 #ifdef MAC_SCH_STATS
139    RgSchNackAckStats nackAckStats;
140    RgSchHqRetxStats  hqRetxStats;
141 #endif /* MAC_SCH_STATS */
142 }RgGenSts;
143
144 /** 
145  * @brief
146    This structure holds statistical information of a SAP in MAC. */
147 typedef struct rgSapSts
148 {
149    uint32_t numPduRcvd;       /*!< Number of PDUs received. At TFU, PDU refers to TB,
150                               and at RGU it is SDU. */
151    uint32_t numPduTxmit;      /*!< Number of PDUs transmitted. This field is 
152                               applicable to TFU. */
153    uint32_t numPduDrop;       /*!< Number of PDUs dropped. At TFU, PDU refers to TB,
154                               and at RGU it is SDU. */
155 }RgSapSts;
156
157 typedef struct rgSchInstCfg
158 {
159    uint8_t          instId;    /*!< Sheduler instance ID */
160    RgGenCfg    genCfg;    /*!< General Configuration for the scheduler instance */
161    uint8_t          numSaps;   /*!< Number of RGR and TFU SAPs must be same */
162    RgUpSapCfg  rgrSap[LRG_MAX_SAPS_PER_INST];  /*!< RGR interface SAPS */
163    RgUpSapCfg  rgmSap[LRG_MAX_SAPS_PER_INST];  /*!< RGR interface SAPS */
164    RgLowSapCfg tfuSap[LRG_MAX_SAPS_PER_INST];  /*!< TFU interface SAPS */
165 } RgSchInstCfg;
166
167 /** 
168  * @brief
169    This structure holds configuration parameters for MAC. */
170 typedef struct rgCfg
171 {
172    union
173    {
174       RgGenCfg    genCfg;  /*!< General Configuration */
175       /* SAPs for the MAC layer */
176       RgUpSapCfg  rguSap;  /*!< RGU interface SAP */
177       RgUpSapCfg  crgSap;  /*!< CRG interface SAP */
178       RgLowSapCfg tfuSap;  /*!< TFU interface SAP */
179       RgSchInstCfg schInstCfg;/*!< General Configuration for scheduler instances */
180    }s;
181 }RgCfg;
182
183 /** 
184  * @brief
185    This structure holds a SAP's status information. */
186 typedef struct rgSapSta
187 {
188    uint8_t sapState;         /*!< SAP state */
189 }RgSapSta;
190
191 /** 
192  * @brief
193    This structure holds MAC's statistical information. */
194 typedef struct rgSts
195 {
196    DateTime dt;          /*!< Date and Time. */
197    uint8_t       sapInst;     /*!< SAP instance. */
198    Action   action;      /*!< Action on Trafffic load related statistic values.
199                               ARST: To reset the statistic values. */
200    union
201    {
202       RgGenSts genSts;   /*!< General statistics. */
203       RgSapSts rguSts;   /*!< RGU SAP statistics. */
204       RgSapSts crgSts;   /*!< CRG SAP statistics. */
205       RgSapSts rgrSts;   /*!< RGR SAP statistics. */
206       RgSapSts tfuSts;   /*!< TFU SAP statistics. */
207    }s;
208 }RgSts;
209
210 /** 
211  * @brief
212    This structure holds MAC's solicited status information. */
213 typedef struct rgSsta
214 {
215    DateTime dt;             /*!< Date and time */
216    uint8_t       sapInst;        /*!< SAP instance */
217    union
218    {
219       SystemId sysId;       /*!< System information */
220       RgSapSta rguSapSta;   /*!< RGU SAP state */
221       RgSapSta crgSapSta;   /*!< CRG SAP state */
222       RgSapSta rgrSapSta;   /*!< RGR SAP state */
223       RgSapSta rgmSapSta;   /*!< RGM SAP state */
224       RgSapSta tfuSapSta;   /*!< TFU SAP state */
225    }s;
226 }RgSsta;
227
228 /** 
229  * @brief
230    Alarm diagnostics structure. */
231 typedef struct rgUstaDgn
232 {
233    uint8_t          type;         /*!< Diagnostics Type */
234    union
235    {
236    /*lrg_x_001.main_3 - Changed for documentation*/
237       MemoryId mem;          /*!< Memory pool and region <BR> 
238                              LRG_USTA_DGNVAL_MEM Dynamic memory allocation failure. <BR> 
239                              LRG_USTS_DGNVAL_HARQ Harq Process is busy.
240                               */
241    }u;
242 } RgUstaDgn;
243
244 /** 
245  * @brief
246    This structure holds MAC's Unsolicited Status information. */
247 typedef struct rgUsta
248 {
249    CmAlarm   cmAlarm;      /*!< Alarms */
250    RgUstaDgn dgn;          /*!< Alarm diagnostics */
251 }RgUsta;
252
253 /** 
254  * @brief
255    This structure holds MAC's Trace Indication information. */
256 typedef struct rgTrc
257 {
258    DateTime dt;          /*!< Date and time */
259    /*lrg_x_001.main_3 - changed for documentation*/
260    uint8_t       evnt;        /*!< Event <BR> 
261                            EVTRGUDATREQ Trace for Dedicated channel Data Request. <BR> 
262                            EVTRGUCDATREQ Trace for common channel data request.<BR> 
263                           */
264 }RgTrc;
265
266 /** 
267  * @brief
268    This structure holds MAC's Debug Control information. */
269 typedef struct rgDbgCntrl
270 {
271    uint32_t dbgMask;          /*!< iThe Layer Manager electively enables or disables various levels of Debug printing <BR>
272                           Following are the values: <BR> 
273                           DBGMASK_PRM Enable/Disable function parameter debug prints <BR>
274                           DBGMASK_ERR Enable/Disable error prints <BR>
275                           DBGMASK_INFO Enable/Disable informational prints.
276                           */
277 }RgDbgCntrl;
278
279 /** 
280  * @brief
281    This structure holds MAC's SAP Control information. */
282 typedef struct rgSapCntrl
283 {
284    SuId suId;            /*!< Service user ID */
285    SpId spId;            /*!< Service provider ID */
286 }RgSapCntrl;
287
288 #ifdef PHY_ERROR_LOGING
289 typedef struct rgSchUlAllocCntrl
290 {
291    uint8_t  mcs;
292    uint16_t numOfRb;
293    uint16_t rbStart;
294    Bool testStart;
295    Bool enaLog;
296    uint16_t  logTime;
297 }RgSchUlAllocCntrl; 
298 #endif
299
300 /** 
301  * @brief
302    This structure holds MAC's Control information. */
303 typedef struct rgCntrl
304 {
305    DateTime      dt;          /*!< Date and Time */
306    uint8_t            action;      /*!< Action */
307    uint8_t            subAction;   /*!< Sub-action */
308    uint8_t            instId;      /*!< Scheduler instance ID */
309    union
310    {
311       RgDbgCntrl rgDbgCntrl;  /*!< Debug Control */
312       /*lrg_x_001.main_3 - Changed for documentation.*/
313       S16        trcLen;      /*!< Trace Length <BR> 
314                                i)LRG_FULL_TRACE Give full message <BR> 
315                                ii)LRG_NO_TRACE Disable Trace<BR>
316                                iii)Or any valid S16 value in case where only the specified number
317                                of bytes, as indicated by trcLen, are to be sent.*/
318       RgSapCntrl rgSapCntrl;  /*!< SAP Control */
319       uint32_t        logMask;     /*!<  Logging control Mask */
320 #ifdef PHY_ERROR_LOGING
321       RgSchUlAllocCntrl rgSchUlAllocCntrl; /* For setting MCS,Number of RB and RB start */
322 #endif
323    }s;
324 }RgCntrl; 
325
326 /** 
327  * @brief
328    This structure holds MAC's Configuration and Control Management Information. */
329 typedef struct rgMngmt
330 {
331    Header     hdr;       /*!< Header */
332    CmStatus   cfm;       /*!< Confirmation */
333    union
334    {
335       RgCfg   cfg;       /*!< Configuration */
336       RgSts   sts;       /*!< Statistics */
337       RgSsta  ssta;      /*!< Solicited Status */
338       RgUsta  usta;      /*!< Unsolicited Status */
339       RgTrc   trc;       /*!< Trace */
340       RgCntrl cntrl;     /*!< Control */
341    }t;
342 }RgMngmt;
343
344 /* lrg_x_001.main_3 - ADD - Data structures for LTE_L2_MEAS */
345 #ifdef LTE_L2_MEAS
346 /**
347  *  @brief
348    To measure Average Number of PRB's used per QCI for a time period
349    timePrd
350 */
351 typedef struct lrgAvgPrbQCI   
352 {
353    uint8_t        numQci;                 /*!< Numner of QCI's in requests */
354    uint8_t        qci[LRG_MAX_QCI_PER_REQ];  /*!< QCI for which PRB has to be measured */
355 } LrgAvgPrbQCI;
356
357 /**
358  *  @brief
359    To measure number of Active UE's per QCI for the given time period
360    timePrd 
361 **/
362 typedef struct lrgNmbActvUeQCI
363 {
364    uint8_t       sampPrd;                   /*!< sampling prd for which active UE's measured
365                                           Where sampling period is in milli seconds
366                                           value can be at most 100ms */
367    uint8_t        numQci;                   /*!< Numner of QCI's in requests */
368    uint8_t        qci[LRG_MAX_QCI_PER_REQ]; /*!< QCI for which UE has to be considered */
369 } LrgNmbActvUeQCI;
370
371 /**
372  * * @brief 
373      This structure will be used by Layer Manager to L2 Measurement Request
374      Information 
375 **/
376 typedef struct lrgSchMeasReqInfo
377 {
378    Header           hdr;             /*!< Header */
379    uint16_t              measType;        /*!< For type of measurement Following are the */
380                                      /*!< allowed values */
381                                      /*!< LRG_L2MEAS_AVG_PRB_DL , LRG_L2MEAS_AVG_PRB_UL*/
382                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_DL  */
383                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_UL */
384                                      /*!< LRG_L2MEAS_RA_PREAMBLE  */
385                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_UL */
386                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_DL */
387                                      /*!< LRG_L2MEAS_TB_TRANS_DL_COUNT */
388                                      /*!< LRG_L2MEAS_TB_TRANS_DL_FAULTY_COUNT */
389                                      /*!< LRG_L2MEAS_TB_TRANS_UL_COUNT */
390                                      /*!< LRG_L2MEAS_TB_TRANS_UL_FAULTY_COUNT */
391    uint32_t              timePrd;         /*!< Time period UNITS and value will differ depending
392                                        on the action. Might be milli seconds/seconds. */
393    CmLteCellId      cellId;          /*!< CELL Id for which measurement is Done */
394    LrgAvgPrbQCI     avgPrbQciUl;     /*!< Average PRB usage per QCI in UL */
395    LrgAvgPrbQCI     avgPrbQciDl;     /*!< Average PRB usage per QCI in DL */
396    LrgNmbActvUeQCI  nmbActvUeQciUl;  /*!< Number of active UE's per QCI in UL */
397    LrgNmbActvUeQCI  nmbActvUeQciDl;  /*!< Number of active UE's per QCI in DL */
398 } LrgSchMeasReqInfo;
399
400 typedef struct lrgSchMeasSndReqInfo
401 {
402    Header           hdr;             /*!< Header */
403    uint16_t              measType;        /*!< For type of measurement Following are the */
404                                      /*!< allowed values */
405                                      /*!< LRG_L2MEAS_AVG_PRB_DL , LRG_L2MEAS_AVG_PRB_UL*/
406                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_DL  */
407                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_UL */
408                                      /*!< LRG_L2MEAS_RA_PREAMBLE  */
409                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_UL */
410                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_DL */
411    uint32_t              timePrd;         /*!< Time period UNITS and value will differ depending
412                                        on the action. Might be milli seconds/seconds. */
413    CmLteCellId      cellId;          /*!< CELL Id for which measurement is Done */
414  //  LrgAvgPrbQCI     avgPrbQciUl;     /*!< Average PRB usage per QCI in UL */
415  //  LrgAvgPrbQCI     avgPrbQciDl;     /*!< Average PRB usage per QCI in DL */
416  //  LrgNmbActvUeQCI  nmbActvUeQciUl;  /*!< Number of active UE's per QCI in UL */
417  //  LrgNmbActvUeQCI  nmbActvUeQciDl;  /*!< Number of active UE's per QCI in DL */
418 } LrgSchMeasSndReqInfo;
419
420 typedef struct lrgSchMeasStopReqInfo
421 {
422    Header           hdr;             /*!< Header */
423    uint16_t              measType;        /*!< For type of measurement Following are the */
424                                      /*!< allowed values */
425                                      /*!< LRG_L2MEAS_AVG_PRB_DL , LRG_L2MEAS_AVG_PRB_UL*/
426                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_DL  */
427                                      /*!< LRG_L2MEAS_AVG_PRB_PER_QCI_UL */
428                                      /*!< LRG_L2MEAS_RA_PREAMBLE  */
429                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_UL */
430                                      /*!< LRG_L2MEAS_NMB_ACTV_UE_PER_QCI_DL */
431  /*  uint16_t              timePrd;  */       /*!< Time period UNITS and value will differ depending
432                                        on the action. Might be milli seconds/seconds. */
433    CmLteCellId      cellId;          /*!< CELL Id for which measurement is Done */
434  /*  LrgAvgPrbQCI     avgPrbQciUl; */     /*!< Average PRB usage per QCI in UL */
435  //  LrgAvgPrbQCI     avgPrbQciDl;     /*!< Average PRB usage per QCI in DL */
436  //  LrgNmbActvUeQCI  nmbActvUeQciUl;  /*!< Number of active UE's per QCI in UL */
437  //   LrgNmbActvUeQCI  nmbActvUeQciDl;  /*!< Number of active UE's per QCI in DL */
438 } LrgSchMeasStopReqInfo;
439
440 /**
441  *@brief
442  Structure to hold Received Random Access Preambles.
443 **/
444 typedef struct lrgRaPreambles
445 {
446    uint16_t    dedPreambles;        /*!< Dedicated RA Preamble received */
447    uint16_t    randSelPreLowRange;  /*!< Randomly selected preambles in low range */
448    uint16_t    randSelPreHighRange; /*!< Randomly selected preambles in high range */
449 } LrgRaPreamblesCfm;
450
451 /**
452  * @brief
453  * Staructure to send Avg PRB for a given Time Period 
454  * */
455 typedef struct lrgAvgPrbcfm
456 {
457    uint8_t    prbPerc;      /*!< PRB usage in percentage for UL */
458 } LrgAvgPrbCfm;
459
460 /*LRG : Review Tag*/
461 typedef struct prbPercQci
462 {
463         uint8_t qciValue;
464         uint8_t prbPercQci;
465 }PrbPercQci;
466
467 typedef struct numActvUeQci
468 {
469         uint8_t qciValue;
470         uint8_t numActvUeQci;
471 }NumActvUeQci;
472 /*LRG : Review Tag*/
473 /**
474  * @brief
475  * Structure to send Avg PRB for a given period per QCI
476  * */
477 typedef struct lrgAvgPrbQCICfm
478 {
479    uint8_t    numQci;                             /*!< number of QCI */
480 /*LRG : Review Tag*/
481    PrbPercQci    prbPercQci[LRG_MAX_QCI_PER_REQ];    /*!< PRB usage in percentage per QCI for UL/DL */
482 /*LRG : Review Tag*/
483 } LrgAvgPrbQCICfm;
484
485 /**
486  *@brief
487  Structure to send number of Active UE's per QCI
488  */
489 typedef struct lrgNumActvUeQCICfm
490 {
491    uint8_t     numQci;                            /*!< Numner of QCI's in requests */
492 /*LRG : Review Tag*/
493    NumActvUeQci     numActvUeQci[LRG_MAX_QCI_PER_REQ]; /*!< Number of Active UE's in UL/DL per QCI */
494 /*LRG : Review Tag*/
495 } LrgNumActvUeQCICfm;
496 /**
497   @brief
498   Structure to send L2 Measurement confirm 
499 **/
500 typedef struct lrgSchMeasCfmInfo
501 {
502    Header             hdr;               /*!< Header information */
503    uint16_t                measType;          /*!< Type of measurement */
504    CmStatus           cfm;               /*!< Confirmation possible Values when measType
505                                               is invalid status -> NOK and reason -> INVALID
506                                                 */
507    CmLteCellId        cellId;             /*!< Cell for which measurement is done */
508    LrgAvgPrbCfm       avgPrbUl;           /*!< PRB usage in percentage per QCI for UL */
509    LrgAvgPrbCfm       avgPrbDl;           /*!< PRB usage in percentage per QCI for DL */
510    LrgAvgPrbQCICfm    avgPrbQciUlCfm;     /*!< PRB usage in percentage per QCI for UL */
511    LrgAvgPrbQCICfm    avgPrbQciDlCfm;     /*!< PRB usage in percentage per QCI for DL */
512    LrgRaPreamblesCfm  raPrmbsCfm;         /*!< Different received RA preambles */
513    LrgNumActvUeQCICfm numUeQciUlCfm;      /*!< Number of Active UE's in UL per QCI */
514    LrgNumActvUeQCICfm numUeQciDlCfm;      /*!< Number of Active UE's in DL per QCI */
515    uint32_t                tbTransDlTotalCnt;  /*!< Count of DL TB transmitteed */
516    uint32_t                tbTransDlFaulty;    /*!< Count of DL TB for wich NACK not recieved from UE */ 
517    uint32_t                tbTransUlTotalCnt;  /*!< Count of UL TB received successfully */ 
518    uint32_t                tbTransUlFaulty;    /*!< Count of UL TB not recieved successfully */ 
519 } LrgSchMeasCfmInfo;
520
521 #endif /* LTE_L2_MEAS */
522
523 /* 
524    Function Prototype Typedefs 
525 . */
526 typedef S16 (*LrgCfgReq)     ARGS((
527         Pst        *pst,               /* Post Structure */
528         RgMngmt    *cfg                /* Management Structure */
529      ));
530
531 typedef uint8_t (*LrgSchCfgReq)     ARGS((
532         Pst        *pst,               /* Post Structure */
533         RgMngmt    *cfg                /* Management Structure */
534      ));
535
536 typedef uint8_t (*LrgCfgCfm)     ARGS((
537         Pst        *pst,               /* Post Structure */
538         RgMngmt    *cfg                /* Management Structure */
539      ));
540
541 typedef uint8_t (*LrgSchCfgCfm)     ARGS((
542         Pst        *pst,               /* Post Structure */
543         RgMngmt    *cfg                /* Management Structure */
544      ));
545
546 typedef S16 (*LrgCntrlReq)   ARGS((
547         Pst        *pst,               /* Post Structure */
548         RgMngmt    *cntrl              /* Management Structure */
549      ));
550
551 typedef S16 (*LrgSchCntrlReq)   ARGS((
552         Pst        *pst,               /* Post Structure */
553         RgMngmt    *cntrl              /* Management Structure */
554      ));
555
556 typedef S16 (*LrgCntrlCfm)   ARGS((
557         Pst        *pst,               /* Post Structure */
558         RgMngmt    *cntrl              /* Management Structure */
559      ));
560
561 typedef S16 (*LrgSchCntrlCfm)   ARGS((
562         Pst        *pst,               /* Post Structure */
563         RgMngmt    *cntrl              /* Management Structure */
564      ));
565
566 /* lrg_x_001.main_3 - ADD - Data structures for LTE_L2_MEAS */
567 #ifdef LTE_L2_MEAS
568 typedef S16 (*LrgSchL2MeasReq)   ARGS((
569         Pst        *pst,               /* Post Structure */
570         LrgSchMeasReqInfo *meas       /* L2 Measurement structure */
571      ));
572 typedef S16 (*LrgSchL2MeasStopReq)   ARGS((
573         Pst        *pst,               /* Post Structure */
574         LrgSchMeasStopReqInfo *meas       /* L2 Measurement structure */
575      ));
576 typedef S16 (*LrgSchL2MeasSendReq)   ARGS((
577         Pst        *pst,               /* Post Structure */
578         LrgSchMeasSndReqInfo *meas       /* L2 Measurement structure */
579      ));
580 #endif
581 typedef S16 (*LrgStaReq)     ARGS((
582         Pst        *pst,               /* Post Structure */
583         RgMngmt    *sta                /* Management Structure */
584      ));
585
586 typedef S16 (*LrgStaCfm)     ARGS((
587         Pst        *pst,               /* Post Structure */
588         RgMngmt    *sta                /* Management Structure */
589      ));
590
591 typedef S16 (*LrgStaInd)     ARGS((
592         Pst        *pst,               /* Post Structure */
593         RgMngmt    *sta                /* Management Structure */
594      ));
595
596 typedef S16 (*LrgSchStaInd)     ARGS((
597         Pst        *pst,               /* Post Structure */
598         RgMngmt    *sta                /* Management Structure */
599      ));
600
601 typedef S16 (*LrgStsReq)     ARGS((
602         Pst        *pst,               /* Post Structure */
603         RgMngmt    *sts                /* Management Structure */
604      ));
605
606 typedef S16 (*LrgStsCfm)     ARGS((
607         Pst        *pst,               /* Post Structure */
608         RgMngmt    *sts                /* Management Structure */
609      ));
610
611 /* lrg_x_001.main_3 - ADD - Data structures for LTE_L2_MEAS */
612 #ifdef LTE_L2_MEAS
613 typedef S16 (*LrgSchL2MeasCfm)     ARGS((
614         Pst            *pst,              /* Post Structure */
615         LrgSchMeasCfmInfo  *schL2MeasCfm     /* Measurement Info */
616      ));
617 typedef S16 (*LrgSchL2MeasStopCfm)     ARGS((
618         Pst            *pst,              /* Post Structure */
619         LrgSchMeasCfmInfo  *schL2MeasCfm     /* Measurement Info */
620      ));
621 #endif /* LTE_L2_MEAS */
622 /* 
623    Function Prototypes.
624  */
625 #ifdef RG
626 /* lrg_x_001.main_3 - ADD -  Added the comments for the following function */
627  /** @brief This primitive is sent from Layer manager to MAC. It carries
628   * configuration information towards MAC.
629   * @details This primitive can be used by layer manager to configure the
630   * following entities at MAC.
631   * -# General configuration
632   * -# RGU SAP i.e. SAP towards RLC
633   * -# CRG SAP i.e. SAP towards RRC
634   * -# TFU SAP i.e. SAP towards Physical layer
635   * 
636   * @param pst pointer to Pst
637   * @param cfg pointer to RgMngmt
638   * @return ROK/RFAILED
639   */
640 S16 RgMiLrgCfgReq ARGS((Pst *pst, RgMngmt *cfg));
641
642  /** @brief This primitive carries the Configuration Request
643   * for Scheduler sent from the DU APP to MAC.
644   * @details This primitive is used by MAC to sned the configuration
645   * to scheduler
646   * @param pst Pointer to the post structure.
647   * @param cfm pointer to RgMngmt 
648   * @return ROK/RFAILED
649   */
650 uint8_t MacSchGenCfgReq ARGS((Pst *pst, RgMngmt *cfg));
651
652  /** @brief This primitive carries the Confirmation for a Configuration Request
653   * sent from the layer manager to MAC.
654   * @details This primitive is used by MAC to inform Layer manager about the
655   * status of a Configuration Request.
656   * @param pst Pointer to the post structure.
657   * @param cfm pointer to RgMngmt 
658   * @return ROK/RFAILED
659   */
660 S16 RgMiLrgCfgCfm ARGS((Pst *pst, RgMngmt *cfm));
661
662  /** @brief This primitive is sent from Layer manager to Scheduler. It carries
663   * configuration information towards MAC.
664   * @details This primitive can be used by layer manager to configure the
665   * following entities at Scheduler.
666   * -# General configuration
667   * -# RGR SAP i.e. SAP towards RRM
668   * -# TFU SAP i.e. SAP towards Physical layer
669   * 
670   * @param pst pointer to Pst
671   * @param cfg pointer to RgMngmt
672   * @return ROK/RFAILED
673   */
674 uint8_t  SchProcGenCfgReq ARGS((Pst *pst, RgMngmt *cfg));
675
676  /** @brief This primitive carries the Confirmation for a Configuration Request
677   * sent from the layer manager to Scheduler.
678   * @details This primitive is used by Scheduler to inform Layer manager about the
679   * status of a Configuration Request.
680   * @param pst Pointer to the post structure.
681   * @param cfm pointer to RgMngmt 
682   * @return ROK/RFAILED
683   */
684 S16 RgMiLrgSchCfgCfm ARGS((Pst *pst, RgMngmt *cfm));
685
686  /** @brief This primitive carries the Request for statistics from MAC layer
687   * sent from the layer manager.
688   * @details This primitive is used by layer manager to request for statistics
689   * on the following
690   * -# General statistics
691   * -# RGU SAP statistics
692   * -# CRG SAP statistics
693   * -# TFU SAP statistics
694   * @param pst Pointer to the post structure.
695   * @param sts pointer to RgMngmt 
696   * @return ROK/RFAILED
697   */
698 S16 RgMiLrgStsReq ARGS((Pst *pst, RgMngmt *sts));
699
700  /** @brief This primitive carries the Statistics for a Statistics Request
701   * sent from the layer manager to MAC.
702   * @details This primitive is used by MAC to inform Layer manager about the
703   * Statistics requested earlier.
704   * @param pst Pointer to the post structure.
705   * @param cfm pointer to RgMngmt 
706   * @return ROK/RFAILED
707   */
708 S16 RgMiLrgStsCfm ARGS((Pst *pst, RgMngmt *cfm));
709
710  /** @brief This primitive carries the Unsolicited status indications from MAC
711   * to the layer manager i.e. Alarms.
712   * @details This primitive is used by MAC to inform Layer manager about some
713   * error conditions or bind confirmations.
714   * @param pst Pointer to the post structure.
715   * @param usta pointer to RgMngmt 
716   * @return ROK/RFAILED
717   */
718 S16 RgMiLrgStaInd ARGS((Pst *pst, RgMngmt *usta));
719  /** @brief This primitive carries the Unsolicited status indications from
720   * scheduler to the layer manager i.e. Alarms.
721   * @details This primitive is used by Scheduler to inform Layer manager about some
722   * error conditions or bind confirmations.
723   * @param pst Pointer to the post structure.
724   * @param usta pointer to RgMngmt 
725   * @return ROK/RFAILED
726   */
727 S16 RgMiLrgSchStaInd ARGS((Pst *pst, RgMngmt *usta));
728
729 #ifdef LTE_L2_MEAS
730  /** @brief This primitive is to enable L2 (layer 2) measurements at the MAC
731   * layer.
732   * 
733   * @details Enables the L2 Measurements.
734   * 
735   * @param pst Pointer to the post structure.
736   * @param schL2MeasInfo pointer to LrgSchMeasReqInfo 
737   * @return ROK/RFAILED
738   */
739 S16 RgMiLrgSchL2MeasReq ARGS((Pst *pst, LrgSchMeasReqInfo *schL2MeasInfo));
740  /** @brief This primitive carries the results of the L2 Measurements gathered
741   * by MAC to the layer manager.
742   * 
743   * @details Carries the Measurements gathered by MAC.
744   * 
745   * @param pst Pointer to the post structure.
746   * @param schL2MeasCfm pointer to LrgSchMeasCfmInfo 
747   * @return ROK/RFAILED
748   */
749 S16 RgMiLrgSchL2MeasCfm ARGS((Pst *pst, LrgSchMeasCfmInfo *schL2MeasCfm));
750  /** @brief This primitive is to Stop L2 (layer 2) measurements at the MAC
751   * layer.
752   *
753   * @details Enables the L2 Measurements.
754   *
755   * @param pst Pointer to the post structure.
756   * @param schL2MeasInfo pointer to LrgSchMeasReqInfo
757   * @return ROK/RFAILED
758   */
759
760 S16 RgMiLrgSchL2MeasStopReq ARGS((Pst *pst, LrgSchMeasStopReqInfo *schL2MeasInfo));
761  /** @brief This primitive is to used to send  L2 (layer 2) measurements at the MAC
762   * layer.
763   *
764   * @details Enables the L2 Measurements.
765   *
766   * @param pst Pointer to the post structure.
767   * @param schL2MeasInfo pointer to LrgSchMeasReqInfo
768   * @return ROK/RFAILED
769   */
770
771 S16 RgMiLrgSchL2MeasSendReq ARGS((Pst *pst,LrgSchMeasSndReqInfo *schL2MeasInfo));
772  /** @brief This primitive carries the confrmratoin  of the L2 Measurements gathered
773   * by MAC to the layer manager.
774   *
775   * @details Carries the Measurements gathered by MAC.
776   *
777   * @param pst Pointer to the post structure.
778   * @param schL2MeasCfm pointer to LrgSchMeasCfmInfo
779   * @return ROK/RFAILED
780   */
781
782 S16 RgMiLrgSchL2MeasStopCfm ARGS((Pst *pst, LrgSchMeasCfmInfo *schL2MeasCfm));
783 #endif /* LTE_L2_MEAS */
784 #endif /* RG. */
785
786 #ifdef SM 
787 S16 smRgActvInit ARGS((Ent ent,Inst inst, Region region,Reason reason));
788 S16 smRgActvTsk ARGS((Pst *pst, Buffer *mBuf));
789 S16 SmMiLrgCfgReq ARGS((Pst *pst, RgMngmt *cfg));
790 S16 SmMiLrgCfgCfm ARGS((Pst *pst, RgMngmt *cfm));
791 S16 SmMiLrgSchCfgReq ARGS((Pst *pst, RgMngmt *cfg));
792 S16 SmMiLrgSchCfgCfm ARGS((Pst *pst, RgMngmt *cfm));
793 S16 SmMiLrgStsReq ARGS((Pst *pst, RgMngmt *sts));
794 S16 SmMiLrgStsCfm ARGS((Pst *pst, RgMngmt *cfm));
795 S16 SmMiLrgStaReq ARGS((Pst *pst, RgMngmt *sta));
796 S16 SmMiLrgStaInd ARGS((Pst *pst, RgMngmt *usta));
797 S16 SmMiLrgCntrlReq ARGS((Pst *pst, RgMngmt *cntrl));
798 S16 SmMiLrgSchStaInd ARGS((Pst *pst, RgMngmt *usta));
799 S16 SmMiLrgCntrlCfm ARGS(( Pst *pst, RgMngmt *cfm));
800 S16 SmMiLrgSchCntrlReq ARGS((Pst *pst, RgMngmt *cntrl));
801 /* lrg_x_001.main_3 - ADD -  Added the following functions for LTE_L2_MEAS */
802 #ifdef LTE_L2_MEAS
803 S16 SmMiLrgSchL2MeasStartReq ARGS((Pst *pst, LrgSchMeasReqInfo *schL2MeasReq));
804 S16 SmMiLrgSchL2MeasCfm ARGS((Pst *pst, LrgSchMeasCfmInfo *schL2MeasCfm));
805 S16 SmMiLrgSchL2MeasStopReq ARGS((Pst *pst, LrgSchMeasStopReqInfo *schL2MeasReq));
806 S16 SmMiLrgSchL2MeasSendReq ARGS((Pst *pst, LrgSchMeasSndReqInfo *schL2MeasReq));
807 S16 SmMiLrgSchL2MeasStopCfm ARGS((Pst *pst, LrgSchMeasCfmInfo *schL2MeasCfm));
808 S16 SmMiLrgSchL2MeasReq ARGS((Pst *pst, LrgSchMeasReqInfo *meas));
809 S16 SmMiLrgSchL2SendMeasReq ARGS((Pst *pst, LrgSchMeasSndReqInfo *meas));
810 S16 SmMiLrgSchL2StopMeasReq ARGS((Pst *pst, LrgSchMeasStopReqInfo *meas));
811 #endif /* LTE_L2_MEAS */
812 #endif /* SM. */
813
814 /*
815    Function Prototypes for Packing and Unpacking the primitives.
816  */
817 #if (defined(LCLRG))
818 /** @brief This API is used to send a 
819 Config Request from LM to MAC.*/
820 S16 cmPkLrgCfgReq ARGS((
821    Pst *                pst,
822    RgMngmt *            cfg
823 ));
824 /** @brief This API is used to send a 
825 Configuration Request from LM to MAC. */
826 S16 cmUnpkLrgCfgReq ARGS((
827    LrgCfgReq            func,
828    Pst *                pst,
829    Buffer               *mBuf
830 ));
831 /** @brief This API is used to send a 
832 Configuration Request from LM to SCH. */
833 S16 cmPkLrgSchCfgReq ARGS((
834    Pst *                pst,
835    RgMngmt *            cfg
836 ));
837 /** @brief This API is used to send a 
838 Configuration Request from LM to SCH. */
839 S16 cmUnpkLrgSchCfgReq ARGS((
840    LrgSchCfgReq         func,
841    Pst *                pst,
842    Buffer               *mBuf
843 ));
844 /* lrg_x_001.main_3 - ADD -  Added the following pack/unpack functions for LTE_L2_MEAS */
845 #ifdef LTE_L2_MEAS
846 /** @brief This API is used to send a 
847 L2 Measurement Request from LM to SCH. */
848 S16 cmPkLrgSchL2MeasReq ARGS((
849    Pst *                pst,
850    LrgSchMeasReqInfo *  meas
851 ));
852 /** @brief This API is used to send a 
853 L2 Measurement Request from LM to SCH. */
854 S16 cmUnpkLrgSchL2MeasReq ARGS((
855    LrgSchL2MeasReq         func,
856    Pst *                 pst,
857    Buffer               *mBuf
858 ));
859 S16 cmPkLrgSchL2MeasCfm ARGS((
860     Pst * pst,
861     LrgSchMeasCfmInfo  *measInfo
862 ));
863 S16 cmUnpkLrgSchL2MeasCfm ARGS((
864     LrgSchL2MeasCfm func,
865     Pst *pst,
866     Buffer *mBuf
867 ));
868 S16 cmPkLrgSchL2MeasReq ARGS((
869    Pst *                pst,
870    LrgSchMeasReqInfo *  meas
871 ));
872 /** @brief This API is used to send a 
873 L2 Measurement Request from LM to SCH. */
874 S16 cmUnpkLrgSchL2MeasReq ARGS((
875    LrgSchL2MeasReq         func,
876    Pst *                 pst,
877    Buffer               *mBuf
878 ));
879 /** @brief This API is used to send a
880 L2 Measurement Stop Request from LM to SCH. */
881 S16 cmPkLrgSchL2MeasSendReq ARGS((
882    Pst *                pst,
883    LrgSchMeasSndReqInfo *  meas
884 ));
885 /** @brief This API is used to send a 
886 L2 Measurement Request from LM to SCH. */
887 S16 cmUnpkLrgSchL2MeasSendReq ARGS((
888    LrgSchL2MeasSendReq         func,
889    Pst *                 pst,
890    Buffer               *mBuf
891 ));
892 /** @brief This API is used to send a
893 L2 Measurement Stop Request from LM to SCH. */
894 S16 cmPkLrgSchL2MeasStopReq ARGS((
895    Pst *                pst,
896    LrgSchMeasStopReqInfo *  meas
897 ));
898 /** @brief This API is used to send a 
899 L2 Measurement Request from LM to SCH. */
900 S16 cmUnpkLrgSchL2MeasStopReq ARGS((
901    LrgSchL2MeasStopReq         func,
902    Pst *                 pst,
903    Buffer               *mBuf
904 ));
905 /** @brief This API is used to carry
906 L2 Measurement Cfm  from SCH. */
907 S16 cmPkLrgSchL2MeasStopCfm ARGS((
908     Pst * pst,
909     LrgSchMeasCfmInfo  *measInfo
910 ));
911 /** @brief This API is used to carrya
912 L2 Measurement Cfm  from SCH. */
913 S16 cmUnpkLrgSchL2MeasStopCfm ARGS((
914     LrgSchL2MeasStopCfm func,
915     Pst *pst,
916     Buffer *mBuf
917 ));
918 #endif
919 /** @brief This API is used to send a 
920 Configuration Confirm from MAC to LM. */
921 uint8_t cmPkLrgCfgCfm ARGS((
922    Pst *                pst,
923    RgMngmt *            cfm
924 ));
925 /** @brief This API is used to send a 
926 Configuration Confirm from MAC to LM. */
927 S16 cmUnpkLrgCfgCfm ARGS((
928    LrgCfgCfm            func,
929    Pst *                pst,
930    Buffer               *mBuf
931 ));
932 /** @brief This API is used to send a 
933 Configuration Confirm from SCH to LM. */
934  uint8_t cmPkLrgSchCfgCfm ARGS((
935    Pst *                pst,
936    RgMngmt *            cfg
937 ));
938 /** @brief This API is used to send a 
939 Configuration Confirm from SCH to LM. */
940 S16 cmUnpkLrgSchCfgCfm ARGS((
941    LrgSchCfgCfm         func,
942    Pst *                pst,
943    Buffer               *mBuf
944 ));
945 /** @brief This API is used to send a 
946 Statistics Request from LM to MAC. */
947  S16 cmPkLrgStsReq ARGS((
948    Pst *                pst,
949    RgMngmt *            sts
950 ));
951 /** @brief This API is used to send a 
952 Statistics Request from LM to MAC. */
953 S16 cmUnpkLrgStsReq ARGS((
954    LrgStsReq            func,
955    Pst *                pst,
956    Buffer               *mBuf
957 ));
958 /** @brief This API is used to send a 
959 Statistics Confirm from MAC to LM. */
960 S16 cmPkLrgStsCfm ARGS((
961    Pst *                pst,
962    RgMngmt *            cfm
963 ));
964 /** @brief This API is used to send a 
965 Statistics Confirm from MAC to LM. */
966 S16 cmUnpkLrgStsCfm ARGS((
967    LrgStsCfm            func,
968    Pst *                pst,
969    Buffer               *mBuf
970 ));
971 /** @brief This API is used to send a 
972 Status Indication from MAC to LM. */
973 S16 cmPkLrgStaInd ARGS((
974    Pst *                pst,
975    RgMngmt *            usta
976 ));
977 /** @brief This API is used to send a 
978 Status Indication from MAC to LM. */
979 S16 cmUnpkLrgStaInd ARGS((
980    LrgStaInd            func,
981    Pst *                pst,
982    Buffer               *mBuf
983 ));
984 /** @brief This API is used to send a 
985 Status Indication from SCH to LM. */
986 S16 cmPkLrgSchStaInd ARGS((
987    Pst *                pst,
988    RgMngmt *            sta
989 ));
990 /** @brief This API is used to send a 
991 Status Indication from SCH to LM. */
992 S16 cmUnpkLrgSchStaInd ARGS((
993    LrgSchStaInd         func,
994    Pst *                pst,
995    Buffer               *mBuf
996 ));
997 S16 cmPkRgGenCfg ARGS((
998    RgGenCfg             *param,
999    Buffer               *mBuf
1000 ));
1001 S16 cmUnpkRgGenCfg ARGS((
1002    RgGenCfg             *param,
1003    Buffer               *mBuf
1004 ));
1005 S16 cmPkRgUpSapCfg ARGS((
1006    RgUpSapCfg           *param,
1007    Buffer               *mBuf
1008 ));
1009 S16 cmUnpkRgUpSapCfg ARGS((
1010    RgUpSapCfg           *param,
1011    Buffer               *mBuf
1012 ));
1013 S16 cmPkRgLowSapCfg ARGS((
1014    RgLowSapCfg          *param,
1015    Buffer               *mBuf
1016 ));
1017 S16 cmUnpkRgLowSapCfg ARGS((
1018    RgLowSapCfg          *param,
1019    Buffer               *mBuf
1020 ));
1021 S16 cmPkRgGenSts ARGS((
1022    RgGenSts             *param,
1023    Buffer               *mBuf
1024 ));
1025
1026 #ifdef MAC_SCH_STATS
1027 S16 cmPkRgSchHqRetxStats ARGS((
1028    RgSchHqRetxStats     *param,
1029    Buffer               *mBuf
1030 ));
1031 S16 cmPkRgSchNackAckStats ARGS((
1032    RgSchNackAckStats    *param,
1033    Buffer               *mBuf
1034 ));
1035 S16 cmPkRgHqNumRetx ARGS((
1036    RgSchHqNumRetx       *param,
1037    Buffer               *mBuf
1038 ));
1039 S16 cmPkRgAckNack ARGS((
1040    RgAckNack            *param,
1041    Buffer               *mBuf
1042 ));
1043
1044 S16 cmUnpkRgSchHqRetxStats ARGS((
1045    RgSchHqRetxStats     *param,
1046    Buffer               *mBuf
1047 ));
1048 S16 cmUnpkRgSchNackAckStats ARGS((
1049    RgSchNackAckStats    *param,
1050    Buffer               *mBuf
1051 ));
1052 S16 cmUnpkRgHqNumRetx ARGS((
1053    RgSchHqNumRetx       *param,
1054    Buffer               *mBuf
1055 ));
1056 S16 cmUnpkRgAckNack ARGS((
1057    RgAckNack            *param,
1058    Buffer               *mBuf
1059 ));
1060 #endif /* MAC_SCH_STATS */
1061
1062 S16 cmUnpkRgGenSts ARGS((
1063    RgGenSts             *param,
1064    Buffer               *mBuf
1065 ));
1066 S16 cmPkRgSapSts ARGS((
1067    RgSapSts             *param,
1068    Buffer               *mBuf
1069 ));
1070 S16 cmUnpkRgSapSts ARGS((
1071    RgSapSts             *param,
1072    Buffer               *mBuf
1073 ));
1074 S16 cmPkRgSchInstCfg ARGS((
1075    RgSchInstCfg         *param,
1076    Buffer               *mBuf
1077 ));
1078 S16 cmUnpkRgSchInstCfg ARGS((
1079    RgSchInstCfg         *param,
1080    Buffer               *mBuf
1081 ));
1082 S16 cmPkRgCfg ARGS((
1083    RgCfg                *param,
1084    S16                  elmnt,
1085    Buffer               *mBuf
1086 ));
1087 S16 cmUnpkRgCfg ARGS((
1088    RgCfg                *param,
1089    S16                  elmnt,
1090    Buffer               *mBuf
1091 ));
1092 S16 cmPkRgSapSta ARGS((
1093    RgSapSta             *param,
1094    Buffer               *mBuf
1095 ));
1096 S16 cmUnpkRgSapSta ARGS((
1097    RgSapSta             *param,
1098    Buffer               *mBuf
1099 ));
1100 S16 cmPkRgSts ARGS((
1101    RgSts                *param,
1102    S16                  elmnt,
1103    Buffer               *mBuf
1104 ));
1105 S16 cmUnpkRgSts ARGS((
1106    RgSts                *param,
1107    S16                  elmnt,
1108    Buffer               *mBuf
1109 ));
1110 /* lrg_x_001.main_3 - MODIFY -  Modified the below function to hold the event type */
1111 S16 cmPkRgUstaDgn ARGS((
1112    RgUstaDgn            *param,
1113    Buffer               *mBuf
1114 ));
1115 S16 cmUnpkRgUstaDgn ARGS((
1116    RgUstaDgn            *param,
1117    Buffer               *mBuf
1118 ));
1119 S16 cmPkRgUsta ARGS((
1120    RgUsta               *param,
1121    Buffer               *mBuf
1122 ));
1123 S16 cmUnpkRgUsta ARGS((
1124    RgUsta               *param,
1125    Buffer               *mBuf
1126 ));
1127 S16 cmPkRgMngmt ARGS((
1128    Pst *pst,
1129    RgMngmt *param,
1130    uint8_t eventType,
1131    Buffer *mBuf
1132 ));
1133 S16 cmUnpkRgMngmt ARGS((
1134    Pst *pst,
1135    RgMngmt *param,
1136    uint8_t eventType,
1137    Buffer *mBuf
1138 ));
1139
1140 /* lrg_x_001.main_4 ccpu00117036 - C++ support */
1141 #ifdef __cplusplus
1142 }
1143 #endif
1144 #endif
1145
1146 #endif /* __LRGX__. */
1147
1148 \f
1149 /**********************************************************************
1150    End of file
1151 **********************************************************************/