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 */
107 } /* end of rlcDlUdxBndCfm */
115 * Handler for confirming the bind request received from KWU
120 * This function send the bind confirm primitive to the RLC user,
121 * when it receives a bind request from its service user.
123 * @param[in] pst Post structure
124 * @param[in] suId Service user SAP ID
125 * @param[in] status Status of Confirmation
132 PRIVATE S16 PtDlUdxCfgCfm
134 Pst *pst, /* post structure */
135 SuId suId, /* Service User Id */
136 RlcCfgCfmInfo *cfmInfo /* Status */
139 PRIVATE S16 PtDlUdxCfgCfm(pst, suId, status)
140 Pst *pst; /* post structure */
141 SuId suId; /* Service User Id */
142 RlcCfgCfmInfo *cfmInfo; /* Status */
148 } /* end of rlcDlUdxBndCfm */
154 * Handler for confirming the bind request received from KWU
159 * This function send the bind confirm primitive to the RLC user,
160 * when it receives a bind request from its service user.
162 * @param[in] pst Post structure
163 * @param[in] suId Service user SAP ID
164 * @param[in] status Status of Confirmation
171 PRIVATE S16 PtDlUdxUeIdChgCfm
173 Pst *pst, /* post structure */
174 SuId suId, /* Service User Id */
179 PRIVATE S16 PtDlUdxUeIdChgCfm(pst, suId, status)
180 Pst *pst; /* post structure */
181 SuId suId; /* Service User Id */
189 } /* end of rlcDlUdxBndCfm */
193 PRIVATE S16 PtDlUdxStaUpdCfm
198 RlcUdxBufLst *pBufLst
204 PRIVATE S16 PtDlUdxStaProhTmrStart
215 PRIVATE UdxBndCfm rlcDlUdxBndCfmMt[UDX_MAX_SEL] =
218 cmPkUdxBndCfm, /* 0 - loosely coupled */
220 PtDlUdxBndCfm, /* 0 - loosely coupled, portable */
221 #endif /* LCKWUIKWU */
223 cmPkUdxBndCfm, /* 1 - loosely coupled */
225 PtDlUdxBndCfm, /* 1 - loosely coupled, portable */
226 #endif /* LCKWUIKWU */
228 rlcUlUdxBndCfm, /* 2 - tightly coupled, RRC */
230 PtDlUdxBndCfm, /* 2 - tightly coupled, portable */
234 UdxCfgCfm rlcDlUdxCfgCfmMt[UDX_MAX_SEL] =
237 cmPkUdxCfgCfm, /* 0 - loosely coupled */
239 PtDlUdxCfgCfm, /* 0 - loosely coupled, portable */
240 #endif /* LCKWUIKWU */
242 cmPkUdxCfgCfm, /* 1 - loosely coupled */
244 PtDlUdxCfgCfm, /* 1 - loosely coupled, portable */
245 #endif /* LCKWUIKWU */
247 rlcUlUdxCfgCfm, /* 2 - tightly coupled, RRC */
249 PtDlUdxCfgCfm, /* 2 - tightly coupled, portable */
253 UdxUeIdChgCfm rlcDlUdxUeIdChgCfmMt[UDX_MAX_SEL] =
256 cmPkUdxUeIdChgCfm, /* 0 - loosely coupled */
258 PtDlUdxUeIdChgCfm, /* 0 - loosely coupled, portable */
259 #endif /* LCKWUIKWU */
261 cmPkUdxUeIdChgCfm, /* 1 - loosely coupled */
263 PtDlUdxUeIdChgCfm, /* 1 - loosely coupled, portable */
264 #endif /* LCKWUIKWU */
266 rlcUlUdxUeIdChgCfm, /* 2 - tightly coupled, RRC */
268 PtDlUdxUeIdChgCfm, /* 2 - tightly coupled, portable */
273 PRIVATE CONSTANT UdxStaProhTmrStart rlcDlUdxStaProhTmrStartMt[UDX_MAX_SEL] =
276 cmPkUdxStaProhTmrStart,
278 PtDlUdxStaProhTmrStart,
281 cmPkUdxStaProhTmrStart, /* 1 - loosely coupled */
283 PtDlUdxStaProhTmrStart, /* 1 - loosely coupled, portable */
284 #endif /* LCKWUIKWU */
286 rlcUlUdxStaProhTmrStart, /* 2 - tightly coupled, RRC */
288 PtDlUdxStaProhTmrStart, /* 2 - tightly coupled, portable */
296 * Handler for confirming the bind request received from KWU
301 * This function send the bind confirm primitive to the RLC user,
302 * when it receives a bind request from its service user.
304 * @param[in] pst Post structure
305 * @param[in] suId Service user SAP ID
306 * @param[in] status Status of Confirmation
315 Pst *pst, /* post structure */
316 SuId suId, /* Service User Id */
317 U8 status /* Status */
320 S16 rlcDlUdxBndCfm(pst, suId, status)
321 Pst *pst; /* post structure */
322 SuId suId; /* Service User Id */
323 U8 status; /* Status */
327 /* jump to specific primitive depending on configured selector */
328 (*rlcDlUdxBndCfmMt[pst->selector])(pst, suId, status);
332 } /* end of rlcDlUdxBndCfm */
340 * Handler for confirming the bind request received from KWU
345 * This function send the bind confirm primitive to the RLC user,
346 * when it receives a bind request from its service user.
348 * @param[in] pst Post structure
349 * @param[in] suId Service user SAP ID
350 * @param[in] status Status of Confirmation
359 Pst *pst, /* post structure */
360 SuId suId, /* Service User Id */
361 RlcCfgCfmInfo *cfmInfo /* Status */
364 S16 rlcDlUdxCfgCfm(pst, suId, status)
365 Pst *pst; /* post structure */
366 SuId suId; /* Service User Id */
367 RlcCfgCfmInfo *cfmInfo; /* Status */
371 /* jump to specific primitive depending on configured selector */
372 (*rlcDlUdxCfgCfmMt[pst->selector])(pst, suId, cfmInfo);
376 } /* end of rlcDlUdxBndCfm */
382 * Handler for confirming the bind request received from KWU
387 * This function send the bind confirm primitive to the RLC user,
388 * when it receives a bind request from its service user.
390 * @param[in] pst Post structure
391 * @param[in] suId Service user SAP ID
392 * @param[in] status Status of Confirmation
399 S16 rlcDlUdxUeIdChgCfm
401 Pst *pst, /* post structure */
402 SuId suId, /* Service User Id */
407 S16 rlcDlUdxUeIdChgCfm(pst, suId, status)
408 Pst *pst; /* post structure */
409 SuId suId; /* Service User Id */
415 /* jump to specific primitive depending on configured selector */
416 (*rlcDlUdxUeIdChgCfmMt[pst->selector])(pst, suId,transId,status);
420 } /* end of rlcDlUdxBndCfm */
423 uint8_t rlcDlUdxStaProhTmrStart(Pst *pst, SuId suId, CmLteRlcId *rlcId)
425 /* jump to specific primitive depending on configured selector */
426 (*rlcDlUdxStaProhTmrStartMt[pst->selector])(pst, suId, rlcId);
430 } /* end of rlcDlUdxBndCfm */
432 /**********************************************************************
435 **********************************************************************/