Committing in PDCP code
[o-du/l2.git] / src / cm / pju.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**
20   
21         Name:    LTE PDCP Interface  
22     
23         Type:    C include file
24   
25         Desc:    This file contains the Data structures for LTE PDCP Interface.
26  
27         File:    pju.x
28   
29 *********************************************************************21*/
30 #ifndef __PJU_X__
31 #define __PJU_X__
32
33 #ifdef __cplusplus
34 EXTERN "C" { 
35 #endif  /*for extern "C"*/
36    
37 /**
38  * @file 
39  * @brief PJU Interface File
40  */
41
42 /*************************************************************************
43  *                      START OF STRUCTURES
44  ************************************************************************/
45 typedef U32       PjuSduId;            /*!< SDU ID */
46 typedef U32       PjuSduLen;           /*!< Length of SDU in bytes */
47
48 /**
49  * @brief   Data Confirmation Status parameters.
50 */
51
52 typedef struct pjuDatCfmSta
53 {
54    PjuSduId       sduId;               /*!< SDU ID for AM */
55    U8             status;              /*!< Status, Value can be
56
57                                             -# PJU_DAT_CFM_SUCCESS,
58                                             -# PJU_RLC_TRANS_FAIL,
59                                             -# PJU_DISCARD_TMR_EXP */
60 }PjuDatCfmSta;
61
62 /**
63  * @brief   Data Confirmation parameters
64 */
65
66 typedef struct pjuDatCfmInfo      
67 {
68    U16            numSdus;                  /*!< Number of SDUs for which cfm is sent */
69    PjuDatCfmSta   cfmSta[PJU_MAX_SDU_CFM];  /*!< Data Confirm Status */
70 }PjuDatCfmInfo;
71
72 /**
73  * @brief   Status Indication parameters
74 */
75 typedef struct pjuStaIndInfo      
76 {
77    U8   cause;                         /*!< Error cause */
78 }PjuStaIndInfo;
79
80 /**
81  * @brief   Data Forward Information
82 */
83 typedef struct pjuDatFwdInfo
84 {
85    PjuSduId       sduId;               /*!< SDU ID */
86    U16            sn;                  /*!< SN associated with the SDU */
87    Buffer         *sdu;                /*!< Forwarded SDU sent / received during 
88                                             handover */
89 }PjuDatFwdInfo;
90
91 /**
92  * @brief   Data Forward Request parameters for PDCP 
93             entity mapped to RLC AM
94 */
95
96 typedef struct pjuDatFwdReqInfo
97 {
98    U8             dir;                 /*!< Data forwarded for 
99                                             UL/DL PDCP entity */
100    U16            numSdus;             /*!< Number of SDUs in DatFwdReq */
101    PjuDatFwdInfo  *datFwdInfo;         /*!< Data Forward Information */
102    Bool           isLastDatFwdInd;     /*!< Last Data Foward Indication */
103 }PjuDatFwdReqInfo;        
104
105 /**
106  * @brief   Data Forward Indication parameters for PDCP
107             entity mapped to RLC AM
108 */
109 typedef PjuDatFwdReqInfo PjuDatFwdIndInfo;
110 typedef struct pjuDatReqInfo
111 {
112   SpId         spId;
113   CmLtePdcpId  pdcpId;
114   PjuSduId     sduId;
115 }PjuDatReqInfo;
116 typedef struct pjuDatIndInfo
117 {
118   SuId         suId;
119   CmLtePdcpId  pdcpId;
120 }PjuDatIndInfo;
121 /*************************************************************************
122  *                      END OF STRUCTURES
123  ************************************************************************/
124
125 /******************************************************************************
126  *                   Prototypes for the selector matrices                     *
127  ******************************************************************************/
128
129
130 typedef S16 (*PjuBndReq)     ARGS((
131         Pst *, 
132         SuId, 
133         SpId
134         ));
135
136 typedef S16 (*PjuBndCfm)     ARGS((
137         Pst *, 
138         SuId, 
139         U8
140         ));
141
142 typedef S16 (*PjuUbndReq)    ARGS((
143         Pst *, 
144         SpId,  
145         Reason
146         ));
147
148 typedef S16 (*PjuDatReq)     ARGS((
149         Pst *, 
150         SpId, 
151         CmLtePdcpId *,
152         PjuSduId,
153         Buffer *
154         ));
155
156 #ifdef FLAT_BUFFER_OPT
157 typedef S16 (*PjuDatReqFB)     ARGS((
158         Pst *, 
159         SpId, 
160         CmLtePdcpId *,
161         PjuSduId,
162         FlatBuffer *
163         ));
164 #endif
165
166
167 typedef S16 (*PjuDatCfm)     ARGS((
168         Pst *, 
169         SuId, 
170         CmLtePdcpId *,
171         PjuDatCfmInfo *
172         ));
173
174 typedef S16 (*PjuDatInd)     ARGS((
175         Pst *, 
176         SuId, 
177         CmLtePdcpId *,
178         Buffer *
179         ));
180
181 typedef S16 (*PjuStaInd)     ARGS((
182         Pst *, 
183         SuId, 
184         CmLtePdcpId *,
185         PjuStaIndInfo *,
186         Buffer *
187         ));
188
189 typedef S16 (*PjuDatFwdReq)     ARGS((
190         Pst *, 
191         SpId, 
192         CmLtePdcpId *,
193         PjuDatFwdReqInfo *
194         ));
195
196 typedef S16 (*PjuDatFwdInd)     ARGS((
197         Pst *, 
198         SuId, 
199         CmLtePdcpId *,
200         PjuDatFwdIndInfo *
201         ));
202
203 /* pju_x_001.main_2 */
204 /*************************************************************************
205  *                   Start of Extern Interface Declarations
206  ************************************************************************/
207 /**
208   * @brief Bind request primitive 
209   * @details
210   * The function binds the PDCP service user entity to the PDCP product.
211   * The PDCP service user must bind each PJU SAP individually before sending
212   * any other request. PDCP acknowledges the receipt of the bind request by
213   * sending a @ref PjUiPjuBndCfm primitive.
214   *
215   * @param[in] pst   - Pointer to the pst structure.
216   * @param[in] suId  - Service user ID. This is the reference number used by the 
217   * PDCP service user to identify its SAP. This reference number is
218   * provided by PDCP in any further primitives sent by PDCP to the service user.
219   * @param[in] spId  - Service provider ID. This is the reference number
220   * used by the PDCP service user (Relay) to identify its SAP. This reference number
221   * is provided by PDCP in any further primitives sent by the PDCP
222   * to the service user.
223   *
224   * @return ROK
225   */
226 EXTERN S16 PjUiPjuBndReq ARGS(( Pst* , SuId , SpId));
227
228 /**
229  * @brief Bind confirm primitive
230  * @details
231  * PDCP invokes the bind confirm primitive to acknowledge the receipt 
232  * of the @ref PjUiPjuBndReq primitive from the service user. The status
233  * field indicates whether the bind request succeeded or failed. The bind
234  * request may fail due to invalid parameters in the bind request from the
235  * service user (for example, an invalid spId).
236  *
237  * @param[in] pst    - Pointer to the pst structure.
238  * @param[in] suId   - Service user ID. This is the reference number used
239  * by the PDCP service user (Relay or RRC layer) to identify its SAP.
240  * @param[in] status - Status field indicates whether the bind request
241  * succeeded or failed. 
242  *  -# TRUE, if successful bind.
243  *  -# FALSE, otherwise.
244  *
245  *  @return ROK.
246  */
247 EXTERN S16 PjUiPjuBndCfm ARGS(( Pst*, SuId, U8));
248
249 /**
250  * @brief Unbind request primitive 
251  * @details
252  * The PDCP service user initiates this primitive for performing an unbind
253  * operation. This function brings the link between PDCP and its service user 
254  * down if it is already up, and releases all the resources associated for 
255  * this SAP at PDCP.
256  *
257  * @param[in] pst   - Pointer to pst structure.
258  * @param[in] spId  - Service provider ID. This is the reference number
259  * used by the PDCP service user (Relay) to identify its SAP. This reference number
260  * is provided by the PDCP in any further primitives sent by the PDCP
261  * to the service user.
262  * @param[in] reason - Unbind reason. Not used in the current implementation. 
263  *
264  * @return ROK
265  */
266 EXTERN S16 PjUiPjuUbndReq ARGS(( Pst*, SpId, Reason));
267
268 /**
269  * @brief Data request primitive
270  * @details
271  * This primitive is used by the PDCP service user to request the PDCP
272  * for data transfer.
273  *
274  * @param[in] pst    - Pointer to pst structure.
275  * @param[in] spId   - Service provider ID. This is the reference number
276  * used by the PDCP service user (Relay) to identify its SAP. This reference number
277  * is provided by the PDCP in any further primitives sent by the PDCP
278  * to the service user.
279  * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to 
280  * uniquely identify a PDCP entity. 
281  * @param[in] sduId  - SDU ID. 
282  * @param[in] mBuf   - Pointer to data buffer.
283  *
284  * @return ROK
285  */
286 EXTERN S16 PjUiPjuDatReq ARGS(( Pst*, SpId, CmLtePdcpId *, PjuSduId, Buffer*));
287 #ifdef FLAT_BUFFER_OPT
288 EXTERN S16 PjUiPjuDatReqFB ARGS(( Pst*, SpId, CmLtePdcpId *, PjuSduId, FlatBuffer*));
289 #endif
290
291 /**
292  * @brief Data confirm primitive
293  * @details
294  * This primitive is sent to the PDCP user to acknowledge the status of the SDU delivered
295  * to the lower layer. Its applicable only for PDCP entities mapped with RLC AM.
296  *
297  * @param[in] pst    - Pointer to pst structure.
298  * @param[in] suId   - Service user ID. This is the reference number used by the PDCP
299  user to identify its SAP.
300  * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to 
301  uniquely identify a PDCP entity. 
302  * @param[in] datCfm - Pointer to data confirm structure. 
303  *
304  *  @return ROK.
305  */
306 EXTERN S16 PjUiPjuDatCfm ARGS((Pst*, SuId, CmLtePdcpId *, PjuDatCfmInfo *));
307
308 /**
309  * @brief Data indication primitive
310  * @details
311  * This primitive is used to send the data received from the lower layer 
312  * to the service user.
313  *
314  * @param[in] pst    - Pointer to pst structure.
315  * @param[in] suId   - Service user ID. This is the reference number used
316  * by the PDCP user to identify its SAP.
317  * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used
318  * to uniquely identify a PDCP entity. 
319  * @param[in] mBuf   - Pointer to data buffer.
320  *
321  *  @return ROK.
322  */
323 EXTERN S16 PjUiPjuDatInd ARGS((Pst*, SuId, CmLtePdcpId *, Buffer*));
324
325 /**
326  * @brief Status indication primitive
327  * @details
328  * This primitive is used by the PDCP to indicate to the PDCP service user about 
329  * the arrival of invalid PDUs (integrity protection or ciphering failed). 
330  *
331  * @param[in] pst    - Pointer to pst structure.
332  * @param[in] suId   - Service user ID. This is the reference number used
333  * by the PDCP user to identify its SAP.
334  * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to 
335  * uniquely identify a PDCP entity. 
336  * @param[in] staInd - Pointer to status indication structure. 
337  * @param[in] mBuf   - PDU for which integrity protection failed.
338  *
339  *  @return ROK.
340  */
341 EXTERN S16 PjUiPjuStaInd ARGS((Pst*, SuId, CmLtePdcpId *, PjuStaIndInfo *, Buffer *));
342
343
344 /**
345  * @brief Data Forward Request primitive
346  * @details
347  * This primitive is used by PDCP user to forward the SDUs along with its SN
348  * as part of handover (SDUs forwarded from PDCP on source eNB through X2-U 
349  * interface to the PDCP on target eNB).
350  *
351  * @param[in] pst       - Pointer to pst structure.
352  * @param[in] spId      - Service provider ID. This is the reference number
353  * used by PDCP service user (Relay) to identify its SAP. This reference number
354  * is provided by PDCP in any further primitives sent by PDCP
355  * to the service user.
356  * @param[in] pdcpId    - Pointer to CmLtePdcpId structure, PDCP ID is used to 
357  * uniquely identify a PDCP entity. 
358  * @param[in] datFwdReq - Pointer to data forward information structure.
359  *
360  *  @return ROK.
361  */
362 EXTERN S16 PjUiPjuDatFwdReq ARGS((Pst*, SpId, CmLtePdcpId *, PjuDatFwdReqInfo *));
363
364
365 /**
366  * @brief Data Forward Indication primitive
367  * @details
368  * This primitive is used by PDCP to forward the SDUs along with its SN
369  * as part of handover (SDUs forwarded from PDCP on source eNB through X2-U 
370  * interface to the PDCP on target eNB).
371  *
372  * @param[in] pst       - Pointer to pst structure.
373  * @param[in] suId      - Service user ID. This is the reference number used
374  * by the PDCP user to identify its SAP.
375  * @param[in] pdcpId    - Pointer to CmLtePdcpId structure, PDCP ID is used to 
376  * uniquely identify a PDCP entity. 
377  * @param[in] datFwdInd - Pointer to data forward information structure.
378  *
379  *  @return ROK.
380  */
381 EXTERN S16 PjUiPjuDatFwdInd ARGS((Pst*, SuId, CmLtePdcpId *, PjuDatFwdIndInfo *));
382
383
384 /*************************************************************************
385  *                   End of Extern Interface Declarations
386  ************************************************************************/
387
388 #ifdef DM
389 EXTERN S16 DmUiPjuBndReq ARGS((
390                      Pst*,                       
391                      SuId,                    
392                      SpId
393                      ));
394
395 EXTERN S16 DmUiPjuUbndReq ARGS((
396                      Pst*,                       
397                      SpId,                     
398                      Reason
399                      ));
400
401
402 EXTERN S16 DmUiPjuBndCfm ARGS((
403                      Pst*,                       
404                      SuId,                     
405                      U8
406                      ));
407
408 EXTERN S16 DmUiPjuDatReq ARGS((
409                      Pst*,                      
410                      SpId,                    
411                      CmLtePdcpId *,         
412                      PjuSduId ,
413                      Buffer*
414                      ));
415
416 EXTERN S16 DmUiPjuDatInd ARGS((
417                      Pst*,                     
418                      SuId,                   
419                      CmLtePdcpId *,         
420                      Buffer*
421                      ));
422
423 EXTERN S16 DmUiPjuDatCfm ARGS((
424                      Pst*,                      
425                      SuId,                    
426                      CmLtePdcpId *,         
427                      PjuDatCfmInfo *
428                      ));
429
430 EXTERN S16 DmUiPjuStaInd ARGS((
431                      Pst*,                     
432                      SuId,                   
433                      CmLtePdcpId *,         
434                      PjuStaIndInfo * 
435                      ));
436
437 EXTERN S16 DmUiPjuDatFwdReq ARGS((
438                      Pst*,                      
439                      SpId,                    
440                      CmLtePdcpId *,         
441                      PjuDatFwdReqInfo *
442                      ));
443
444 EXTERN S16 DmUiPjuDatFwdInd ARGS((
445                      Pst*,                     
446                      SuId,                   
447                      CmLtePdcpId *,         
448                      PjuDatFwdIndInfo *
449                      ));
450 #endif /* DM */
451
452 /******************************************************************************
453 *                        Prototypes for LTE-PDCP layer                           *
454 ******************************************************************************/
455
456 #ifdef PX  /* for LTE PDCP to PX (Relay) */ 
457
458 EXTERN S16 PxLiPjuBndReq     ARGS((
459        Pst *, 
460        SuId, 
461        SpId
462        ));
463
464 EXTERN S16 PxLiPjuUbndReq    ARGS((
465        Pst *, 
466        SuId, 
467        Reason
468        ));
469
470 EXTERN S16 PxLiPjuDatReq     ARGS((
471        Pst *, 
472        SpId, 
473        CmLtePdcpId *,
474        PjuSduId,
475        Buffer *
476        ));
477
478 EXTERN S16 PxLiPjuBndCfm ARGS((
479        Pst *,
480        SuId,
481        U8
482        ));
483
484 EXTERN S16 PxLiPjuDatInd ARGS((
485        Pst *,
486        SuId,
487        CmLtePdcpId *,
488        Buffer *
489        ));
490
491 EXTERN S16 PxLiPjuDatCfm    ARGS((
492        Pst *,
493        SuId ,
494        CmLtePdcpId *,
495        PjuDatCfmInfo *
496        ));
497
498 EXTERN S16 PxLiPjuStaInd ARGS((
499        Pst*,                     
500        SuId,                   
501        CmLtePdcpId *,         
502        PjuStaIndInfo * ,
503        Buffer *
504        ));
505
506 EXTERN S16 PxLiPjuDatFwdReq     ARGS((
507        Pst *, 
508        SpId, 
509        CmLtePdcpId *,
510        PjuDatFwdReqInfo *
511        ));
512
513
514 EXTERN S16 PxLiPjuDatFwdInd ARGS((
515        Pst *,
516        SuId, 
517        CmLtePdcpId *,                  
518        PjuDatFwdIndInfo *
519        ));
520
521 #endif /* PX */
522
523 #ifdef NH  /* for LTE RLC to NH  */
524
525 EXTERN S16 NhLiPjuBndReq     ARGS((
526        Pst *, 
527        SuId, 
528        SpId
529        ));
530
531 EXTERN S16 NhLiPjuUbndReq    ARGS((
532        Pst *, 
533        SuId, 
534        Reason
535        ));
536
537 EXTERN S16 NhLiPjuDatReq     ARGS((
538        Pst *, 
539        SpId, 
540        CmLtePdcpId *,
541        PjuSduId,
542        Buffer *
543        ));
544
545 EXTERN S16 NhLiPjuBndCfm ARGS((
546        Pst *,
547        SuId,
548        U8
549        ));
550
551 EXTERN S16 NhLiPjuDatInd ARGS((
552        Pst *,
553        SuId,
554        CmLtePdcpId *,
555        Buffer *
556        ));
557
558 EXTERN S16 NhLiPjuDatCfm    ARGS((
559        Pst *,
560        SuId ,
561        CmLtePdcpId *,
562        PjuDatCfmInfo *
563        ));
564
565 EXTERN S16 NhLiPjuStaInd ARGS((
566        Pst*,                     
567        SuId,                   
568        CmLtePdcpId *,         
569        PjuStaIndInfo * ,
570        Buffer *
571        ));
572
573 EXTERN S16 NhLiPjuDatFwdReq     ARGS((
574        Pst *, 
575        SpId, 
576        CmLtePdcpId *,
577        PjuDatFwdReqInfo *
578        ));
579
580
581 EXTERN S16 NhLiPjuDatFwdInd ARGS((
582        Pst *,
583        SuId, 
584        CmLtePdcpId *,                  
585        PjuDatFwdIndInfo *
586        ));
587
588 #endif /* NH */
589
590 /******************************************************************************
591  *                           pack/unpack functions                            *
592  ******************************************************************************/
593
594 #ifdef LCPJU
595
596 EXTERN S16 cmPkPjuBndReq ARGS((
597 Pst* pst,
598 SpId suId,
599 SuId spId
600 ));
601 EXTERN S16 cmUnpkPjuBndReq ARGS((
602 PjuBndReq func,
603 Pst *pst,
604 Buffer *mBuf
605 ));
606 EXTERN S16 cmPkPjuBndCfm ARGS((
607 Pst* pst,
608 SuId suId,
609 U8 status
610 ));
611 EXTERN S16 cmUnpkPjuBndCfm ARGS((
612 PjuBndCfm func,
613 Pst *pst,
614 Buffer *mBuf
615 ));
616 EXTERN S16 cmPkPjuUbndReq ARGS((
617 Pst* pst,
618 SpId spId,
619 Reason reason
620 ));
621 EXTERN S16 cmUnpkPjuUbndReq ARGS((
622 PjuUbndReq func,
623 Pst *pst,
624 Buffer *mBuf
625 ));
626 #ifdef SS_RBUF
627 EXTERN S16 cmPkFpPjuDatReq ARGS((
628 Pst* pst,
629 SpId spId,
630 CmLtePdcpId * pdcpId,
631 PjuSduId sduId,
632 Buffer * mBuf
633 ));
634 #endif
635 EXTERN S16 cmPkPjuDatReq ARGS((
636 Pst* pst,
637 SpId spId,
638 CmLtePdcpId * pdcpId,
639 PjuSduId sduId,
640 Buffer * mBuf
641 ));
642 #ifdef FLAT_BUFFER_OPT
643 EXTERN S16 cmPkPjuDatReqFB ARGS((
644 Pst* pst,
645 SpId spId,
646 CmLtePdcpId * pdcpId,
647 PjuSduId sduId,
648 FlatBuffer * mBuf
649 ));
650 #endif
651
652 #ifdef SS_RBUF
653 EXTERN S16 cmUnpkFpPjuDatReq ARGS((
654 PjuDatReq func,
655 Pst *pst,
656 Buffer *mBuf
657 ));
658 #endif
659 EXTERN S16 cmUnpkPjuDatReq ARGS((
660 PjuDatReq func,
661 Pst *pst,
662 Buffer *mBuf
663 ));
664 EXTERN S16 cmPkPjuDatCfm ARGS((
665 Pst* pst,
666 SuId suId,
667 CmLtePdcpId * pdcpId,
668 PjuDatCfmInfo * datCfm
669 ));
670 EXTERN S16 cmUnpkPjuDatCfm ARGS((
671 PjuDatCfm func,
672 Pst *pst,
673 Buffer *mBuf
674 ));
675 EXTERN S16 cmPkPjuDatInd ARGS((
676 Pst* pst,
677 SuId suId,
678 CmLtePdcpId * pdcpId,
679 Buffer * mBuf
680 ));
681 EXTERN S16 cmUnpkPjuDatInd ARGS((
682 PjuDatInd func,
683 Pst *pst,
684 Buffer *mBuf
685 ));
686
687 #ifdef SS_RBUF
688 EXTERN S16 cmPkFpPjuDatInd ARGS((
689 Pst* pst,
690 SuId suId,
691 CmLtePdcpId * pdcpId,
692 Buffer * mBuf
693 ));
694
695 EXTERN S16 cmUnpkFpPjuDatInd ARGS((
696 PjuDatInd func,
697 Pst *pst,
698 Buffer *mBuf
699 ));
700 #endif
701
702 EXTERN S16 cmPkPjuStaInd ARGS((
703 Pst* pst,
704 SuId suId,
705 CmLtePdcpId * pdcpId,
706 PjuStaIndInfo * staInd,
707 Buffer *buff
708 ));
709 EXTERN S16 cmUnpkPjuStaInd ARGS((
710 PjuStaInd func,
711 Pst *pst,
712 Buffer *mBuf
713 ));
714 EXTERN S16 cmPkPjuDatFwdReq ARGS((
715 Pst* pst,
716 SpId spId,
717 CmLtePdcpId * pdcpId,
718 PjuDatFwdReqInfo * datFwdReq
719 ));
720 EXTERN S16 cmUnpkPjuDatFwdReq ARGS((
721 PjuDatFwdReq func,
722 Pst *pst,
723 Buffer *mBuf
724 ));
725 EXTERN S16 cmPkPjuDatFwdInd ARGS((
726 Pst* pst,
727 SuId suId,
728 CmLtePdcpId * pdcpId,
729 PjuDatFwdIndInfo * datFwdInd
730 ));
731 EXTERN S16 cmUnpkPjuDatFwdInd ARGS((
732 PjuDatFwdInd func,
733 Pst *pst,
734 Buffer *mBuf
735 ));
736 EXTERN S16 cmPkPjuDatCfmInfoSta ARGS((
737 PjuDatCfmSta *param,
738 Buffer *mBuf
739 ));
740 EXTERN S16 cmUnpkPjuDatCfmInfoSta ARGS((
741 PjuDatCfmSta *param,
742 Buffer *mBuf
743 ));
744 EXTERN S16 cmPkPjuDatCfmInfo ARGS((
745 PjuDatCfmInfo *param,
746 Buffer *mBuf
747 ));
748 EXTERN S16 cmUnpkPjuDatCfmInfo ARGS((
749 PjuDatCfmInfo *param,
750 Buffer *mBuf
751 ));
752 EXTERN S16 cmPkPjuStaIndInfo ARGS((
753 PjuStaIndInfo *param,
754 Buffer *mBuf
755 ));
756 EXTERN S16 cmUnpkPjuStaIndInfo ARGS((
757 PjuStaIndInfo *param,
758 Buffer *mBuf
759 ));
760 EXTERN S16 cmPkPjuDatFwdReqInfo ARGS((
761 PjuDatFwdReqInfo *param,
762 Buffer *mBuf
763 ));
764 EXTERN S16 cmUnpkPjuDatFwdReqInfo ARGS((
765 Pst *pst,
766 PjuDatFwdReqInfo *param,
767 Buffer *mBuf
768 ));
769 EXTERN S16 cmPkPjuDatFwdInfo ARGS((
770 PjuDatFwdInfo *param,
771 Buffer *mBuf
772 ));
773 EXTERN S16 cmUnpkPjuDatFwdInfo ARGS((
774 PjuDatFwdInfo *param,
775 Buffer *mBuf
776 ));
777
778 #endif
779
780 #ifdef __cplusplus
781 }
782 #endif /* __cplusplus */
783 #endif /* __PJU_X__ */
784 /********************************************************************30**
785   
786          End of file
787 **********************************************************************/