1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
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 #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
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 *******************************************************************************/
19 /************************************************************************
21 Name: LTE-RLC ULDL Interface
25 Desc: C source code for INF Interface Module
29 **********************************************************************/
31 /** @file kw_udx_ptdl.c
34 /* header include files (.h) */
35 #include "common_def.h"
36 #include "lkw.h" /* LKW defines */
37 #include "ckw.h" /* CKW defines */
38 #include "kwu.h" /* KWU defines */
39 #include "rgu.h" /* RGU defines */
40 #include "kw_err.h" /* Err defines */
41 #include "kw_env.h" /* RLC environment options */
43 #include "kw.h" /* RLC defines */
48 /* extern (.x) include files */
49 #include "lkw.x" /* LKW */
50 #include "ckw.x" /* CKW */
51 #include "kwu.x" /* KWU */
52 #include "rgu.x" /* RGU */
62 PRIVATE S16 PtDlUdxBndCfm ARGS(( Pst *pst,SuId suId,U8 status ));
63 PRIVATE S16 PtDlUdxCfgCfm ARGS((Pst *pst, SuId suId, RlcCfgCfmInfo *cfmInfo));
64 PRIVATE S16 PtDlUdxUeIdChgCfm ARGS(( Pst *pst, SuId suId,U32 transId,
66 PRIVATE S16 PtDlUdxStaUpdCfm ARGS(( Pst* pst,SuId suId,CmLteRlcId *rlcId,
67 RlcUdxBufLst *pBufLst));
69 /* UDX Bind Confirm primitive */
74 * Handler for confirming the bind request received from KWU
79 * This function send the bind confirm primitive to the RLC user,
80 * when it receives a bind request from its service user.
82 * @param[in] pst Post structure
83 * @param[in] suId Service user SAP ID
84 * @param[in] status Status of Confirmation
91 PRIVATE S16 PtDlUdxBndCfm
93 Pst *pst, /* post structure */
94 SuId suId, /* Service User Id */
95 U8 status /* Status */
98 PRIVATE S16 PtDlUdxBndCfm(pst, suId, status)
99 Pst *pst; /* post structure */
100 SuId suId; /* Service User Id */
101 U8 status; /* Status */
108 } /* end of rlcDlUdxBndCfm */
116 * Handler for confirming the bind request received from KWU
121 * This function send the bind confirm primitive to the RLC user,
122 * when it receives a bind request from its service user.
124 * @param[in] pst Post structure
125 * @param[in] suId Service user SAP ID
126 * @param[in] status Status of Confirmation
133 PRIVATE S16 PtDlUdxCfgCfm
135 Pst *pst, /* post structure */
136 SuId suId, /* Service User Id */
137 RlcCfgCfmInfo *cfmInfo /* Status */
140 PRIVATE S16 PtDlUdxCfgCfm(pst, suId, status)
141 Pst *pst; /* post structure */
142 SuId suId; /* Service User Id */
143 RlcCfgCfmInfo *cfmInfo; /* Status */
150 } /* end of rlcDlUdxBndCfm */
156 * Handler for confirming the bind request received from KWU
161 * This function send the bind confirm primitive to the RLC user,
162 * when it receives a bind request from its service user.
164 * @param[in] pst Post structure
165 * @param[in] suId Service user SAP ID
166 * @param[in] status Status of Confirmation
173 PRIVATE S16 PtDlUdxUeIdChgCfm
175 Pst *pst, /* post structure */
176 SuId suId, /* Service User Id */
181 PRIVATE S16 PtDlUdxUeIdChgCfm(pst, suId, status)
182 Pst *pst; /* post structure */
183 SuId suId; /* Service User Id */
188 TRC3(PtDlUdxUeIdChgCfm)
192 } /* end of rlcDlUdxBndCfm */
196 PRIVATE S16 PtDlUdxStaUpdCfm
201 RlcUdxBufLst *pBufLst
204 TRC3(PtDlUdxStaUpdCfm);
208 PRIVATE S16 PtDlUdxStaProhTmrStart
215 TRC3(PtDlUdxStaProhTmrStart);
220 PRIVATE UdxBndCfm rlcDlUdxBndCfmMt[UDX_MAX_SEL] =
223 cmPkUdxBndCfm, /* 0 - loosely coupled */
225 PtDlUdxBndCfm, /* 0 - loosely coupled, portable */
226 #endif /* LCKWUIKWU */
228 cmPkUdxBndCfm, /* 1 - loosely coupled */
230 PtDlUdxBndCfm, /* 1 - loosely coupled, portable */
231 #endif /* LCKWUIKWU */
233 rlcUlUdxBndCfm, /* 2 - tightly coupled, RRC */
235 PtDlUdxBndCfm, /* 2 - tightly coupled, portable */
239 UdxCfgCfm rlcDlUdxCfgCfmMt[UDX_MAX_SEL] =
242 cmPkUdxCfgCfm, /* 0 - loosely coupled */
244 PtDlUdxCfgCfm, /* 0 - loosely coupled, portable */
245 #endif /* LCKWUIKWU */
247 cmPkUdxCfgCfm, /* 1 - loosely coupled */
249 PtDlUdxCfgCfm, /* 1 - loosely coupled, portable */
250 #endif /* LCKWUIKWU */
252 rlcUlUdxCfgCfm, /* 2 - tightly coupled, RRC */
254 PtDlUdxCfgCfm, /* 2 - tightly coupled, portable */
258 UdxUeIdChgCfm rlcDlUdxUeIdChgCfmMt[UDX_MAX_SEL] =
261 cmPkUdxUeIdChgCfm, /* 0 - loosely coupled */
263 PtDlUdxUeIdChgCfm, /* 0 - loosely coupled, portable */
264 #endif /* LCKWUIKWU */
266 cmPkUdxUeIdChgCfm, /* 1 - loosely coupled */
268 PtDlUdxUeIdChgCfm, /* 1 - loosely coupled, portable */
269 #endif /* LCKWUIKWU */
271 rlcUlUdxUeIdChgCfm, /* 2 - tightly coupled, RRC */
273 PtDlUdxUeIdChgCfm, /* 2 - tightly coupled, portable */
278 PRIVATE CONSTANT UdxStaProhTmrStart rlcDlUdxStaProhTmrStartMt[UDX_MAX_SEL] =
281 cmPkUdxStaProhTmrStart,
283 PtDlUdxStaProhTmrStart,
286 cmPkUdxStaProhTmrStart, /* 1 - loosely coupled */
288 PtDlUdxStaProhTmrStart, /* 1 - loosely coupled, portable */
289 #endif /* LCKWUIKWU */
291 rlcUlUdxStaProhTmrStart, /* 2 - tightly coupled, RRC */
293 PtDlUdxStaProhTmrStart, /* 2 - tightly coupled, portable */
301 * Handler for confirming the bind request received from KWU
306 * This function send the bind confirm primitive to the RLC user,
307 * when it receives a bind request from its service user.
309 * @param[in] pst Post structure
310 * @param[in] suId Service user SAP ID
311 * @param[in] status Status of Confirmation
320 Pst *pst, /* post structure */
321 SuId suId, /* Service User Id */
322 U8 status /* Status */
325 S16 rlcDlUdxBndCfm(pst, suId, status)
326 Pst *pst; /* post structure */
327 SuId suId; /* Service User Id */
328 U8 status; /* Status */
333 /* jump to specific primitive depending on configured selector */
334 (*rlcDlUdxBndCfmMt[pst->selector])(pst, suId, status);
338 } /* end of rlcDlUdxBndCfm */
346 * Handler for confirming the bind request received from KWU
351 * This function send the bind confirm primitive to the RLC user,
352 * when it receives a bind request from its service user.
354 * @param[in] pst Post structure
355 * @param[in] suId Service user SAP ID
356 * @param[in] status Status of Confirmation
365 Pst *pst, /* post structure */
366 SuId suId, /* Service User Id */
367 RlcCfgCfmInfo *cfmInfo /* Status */
370 S16 rlcDlUdxCfgCfm(pst, suId, status)
371 Pst *pst; /* post structure */
372 SuId suId; /* Service User Id */
373 RlcCfgCfmInfo *cfmInfo; /* Status */
378 /* jump to specific primitive depending on configured selector */
379 (*rlcDlUdxCfgCfmMt[pst->selector])(pst, suId, cfmInfo);
383 } /* end of rlcDlUdxBndCfm */
389 * Handler for confirming the bind request received from KWU
394 * This function send the bind confirm primitive to the RLC user,
395 * when it receives a bind request from its service user.
397 * @param[in] pst Post structure
398 * @param[in] suId Service user SAP ID
399 * @param[in] status Status of Confirmation
406 S16 rlcDlUdxUeIdChgCfm
408 Pst *pst, /* post structure */
409 SuId suId, /* Service User Id */
414 S16 rlcDlUdxUeIdChgCfm(pst, suId, status)
415 Pst *pst; /* post structure */
416 SuId suId; /* Service User Id */
421 TRC3(rlcDlUdxUeIdChgCfm)
423 /* jump to specific primitive depending on configured selector */
424 (*rlcDlUdxUeIdChgCfmMt[pst->selector])(pst, suId,transId,status);
428 } /* end of rlcDlUdxBndCfm */
433 S16 rlcDlUdxStaProhTmrStart
435 Pst *pst, /* post structure */
436 SuId suId, /* Service User Id */
440 S16 rlcDlUdxStaProhTmrStart(pst, suId, rlcId)
441 Pst *pst; /* post structure */
442 SuId suId; /* Service User Id */
446 TRC3(rlcDlUdxStaProhTmrStart)
448 /* jump to specific primitive depending on configured selector */
449 (*rlcDlUdxStaProhTmrStartMt[pst->selector])(pst, suId, rlcId);
453 } /* end of rlcDlUdxBndCfm */
455 /**********************************************************************
458 **********************************************************************/