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 /********************************************************************20**
25 Desc: Structures, variables and typedefs required by two
26 or more layer service user interfaces.
30 *********************************************************************21*/
39 #ifdef RGL_SPECIFIC_CHANGES
46 typedef S8 Txt; /* text */
48 typedef U8 Ent; /* entity */
50 typedef U8 Inst; /* instance */
52 typedef struct entityId /* entity id */
55 Inst inst; /* instance */
60 typedef S16 Elmnt; /* element */
62 typedef S16 ElmntInst1; /* element instance 1 */
64 typedef S16 ElmntInst2; /* element instance 2 */
66 typedef S16 ElmntInst3; /* element instance 3 */
68 typedef struct elmntId /* element id */
70 Elmnt elmnt; /* element */
71 ElmntInst1 elmntInst1; /* element instance 1 */
72 ElmntInst2 elmntInst2; /* element instance 2 */
73 ElmntInst3 elmntInst3; /* element instance 3 */
76 typedef U8 Region; /* region */
78 typedef U8 Pool; /* pool */
80 typedef U8 Prior; /* priority */
82 typedef Prior Priority; /* priority */
84 typedef U8 Route; /* route */
86 typedef U8 Data; /* data */
88 typedef U8 Selector; /* selector */
90 typedef S16 Reason; /* reason */
92 typedef U16 ProcId; /* processor id */
94 typedef U8 Event; /* event */
96 typedef U32 TranId; /* transaction Id */
98 typedef S16 IntNum; /* Interface Number */
100 typedef U16 TranNum; /* Transaction Number */
102 typedef U16 CmIntfId; /* Interface identifier */
103 typedef U16 CmIntfVer; /* Interface version */
105 #ifdef TDS_ROLL_UPGRADE_SUPPORT
106 typedef struct cmIntf /* Attributes of an interface */
108 CmIntfId intfId; /* Interface identifier */
109 CmIntfVer intfVer; /* Interface version */
113 /* post structure *** ALIGNED & ORDERED *** */
114 typedef struct pst /* parameters for SPstTsk */
116 ProcId dstProcId; /* destination processor id (U16) */
117 ProcId srcProcId; /* source processor id (U16) */
119 Ent dstEnt; /* destination entity (U8) */
120 Inst dstInst; /* destination instance (U8) */
121 Ent srcEnt; /* source entity (U8) */
122 Inst srcInst; /* source instance (U8) */
124 Prior prior; /* priority (U8) */
125 Route route; /* route (U8) */
126 Event event; /* event (U8) */
127 Region region; /* region (U8) */
129 Pool pool; /* pool (U8) */
130 Selector selector; /* selector (U8) */
131 CmIntfVer intfVer; /* interface version (U16) */
134 /* systemId structure */
136 typedef struct systemId /* system id */
138 S16 mVer; /* main version */
139 S16 mRev; /* main revision */
140 S16 bVer; /* branch version */
141 S16 bRev; /* branch revision */
142 Txt *ptNmb; /* part number */
145 /* Protocol Address Structure */
146 /* Note: The Order of variables should not be changed as it breaks MPC/MPS
149 typedef struct protAddr
151 U16 protType; /* Protocol Type */
152 U8 len; /* Protocol Address Length in bytes */
153 U8 preLen; /* prefix length in bits */
154 U8 address[MAX_PROTADDR_LEN]; /* Protocol Address */
156 Bool autoSysIdPres; /* Is Autonomous System Id Present */
157 U32 autoSysId; /* Autonomous System Id */
162 typedef struct protAddrTbl
164 U8 count; /* Number of addresses */
165 ProtAddr addr[MAX_PROT_ADDRS]; /* Protocol Address List */
168 /* addrs structure */
170 typedef struct addrs /* address */
172 U8 length; /* length (bytes or nibbles) */
173 U8 strg[ADRLEN]; /* address */
176 typedef struct shrtAddr /* short address */
178 U8 length; /* length bytes */
179 U8 strg[SHRTADRLEN]; /* address */
182 typedef struct lngAddr /* long address */
184 U8 length; /* length bytes */
185 U8 strg[LNGADRLEN]; /* address */
188 /* bndCfg structure */
190 typedef struct bndCfg /* bind configuration */
192 Txt *usrId; /* user id */
193 U8 bufOwnshp; /* buffer ownership */
194 U8 flcTyp; /* flow control type */
196 Ent ent; /* entity */
197 Inst inst; /* instance */
198 Region region; /* region */
199 Pool pool; /* pool */
200 Prior prior; /* priority */
201 Route route; /* route */
202 Addrs sapAdr; /* SAP Address */
203 Selector selector; /* selector */
206 /* gen_x_001.main_91 : Added Definition of Circular Buffer Structure */
207 /* Circular Buffer Structure */
213 S8 tmpBuf[CBUFPRNTSZE];
215 #endif /* CBUF_ENABLE */
217 /* tskInit structure */
219 typedef struct tskInit /* task initialization */
221 #ifdef SS_MULTIPLE_PROCS
222 ProcId proc; /* processor */
223 #endif /* SS_MULTIPLE_PROCS */
224 Ent ent; /* entity */
225 Inst inst; /* instance */
226 Region region; /* static region */
227 Pool pool; /* static pool */
228 Reason reason; /* reason */
229 Bool cfgDone; /* configuration done */
230 Bool acnt; /* accounting */
231 Bool usta; /* unsolicited status */
232 Bool trc; /* trace */
234 U32 dbgMask; /* debug mask */
235 Txt prntBuf[255]; /* print buffer */
237 Txt *prntCirBuf; /* print buffer for each system task */
239 /* gen_x_001.main_96 :Added logmask */
240 U32 logMask; /* Logging mask */
242 BndCfg lmBnd; /* layer management bind */
243 ProcId procId; /* processor id */
244 Pst lmPst; /* layer management post */
245 /* gen_x_001.main_91 : Added cBuffer in task initialisation strucutre */
247 cBuffer cBuf; /* Circular Buffer */
248 #endif /* CBUF_ENABLE */
249 /* gen_x_001.main_92 : Added timestamp related parameter */
250 /* gen_x_001.main_93 : Guarding the Timestamp related changes in the compile time flag*/
252 SLockId dbgLock; /* write lock for the log files */
253 Bool lyrMtFlag; /* Layer is Multithreaded or not flag */
259 typedef S32 Cntr; /* counter */
261 typedef U32 StsCntr; /* Statistics counter */
263 typedef S16 LnkNmb; /* link number */
265 typedef S8 VBit; /*V Bit */
267 typedef S16 SuId; /* service user sap id */
269 typedef S16 SpId; /* service provider sap id */
271 typedef S16 SuInstId; /* service user instance id */
273 typedef S16 SpInstId; /* service provider instance id */
275 typedef U16 PortId; /* port id */
277 typedef U8 Sapi; /* service access point id */
279 typedef U8 Tei; /* terminal endpoint id */
281 typedef U8 Ces; /* connection endpoint suffix */
283 typedef U32 Dlci; /* data link control identifier */
285 typedef U16 CalRef; /* call Reference */
287 typedef S16 Origin; /* origin */
289 typedef U16 NwId; /* Network Identifier */
291 typedef S16 Swtch; /* switch */
293 typedef U8 Cause; /* cause code */
295 typedef U8 Dgn; /* diagnostic code */
297 typedef S16 Action; /* action */
299 typedef S16 SeqS16; /* signed 16 bit sequence number */
301 typedef U16 SeqU16; /* unsigned 16 bit sequence number */
303 typedef S32 SeqS24; /* signed 24 bit sequence number */
305 typedef U32 SeqU24; /* unsigned 24 bit sequence number */
307 typedef U8 SetUpArb; /* set up arbitration (PASSIVE/ACTIVE) */
309 typedef U8 EvntType; /* event type */
311 typedef U8 State; /* state */
313 typedef U8 Mode; /* mode */
315 typedef S32 ConnId; /* connection id */
317 typedef U32 UConnId; /* unsigned connection id */
319 typedef U16 ProtId; /* protocol id */
321 typedef U16 ChannelId; /* channel id */
323 typedef U8 Arr64U8[64]; /* Array of 64 of type U8*/
325 typedef U16 Efa; /* Envelope Address Function */
327 typedef U32 BitState; /* Sa Bit ID and Value */
329 typedef U8 CChanId; /* V5UA Channel ID */
331 typedef U16 MibOpCode; /* Op code for Mib Request MIB_REQUEST_GET,
332 MIB_REQUEST_GET_FIRST, MIB_REQUEST */
334 typedef U16 MibStatus; /* Status returned in Mib Cfm */
336 typedef U16 MibTblType; /* table type */
338 typedef S32 MibReqId; /* request identifier */
340 typedef U8 UstaType; /* unsolicited status type */
341 typedef S8 ChannelNo; /* Channel Number */
345 #ifndef CMFILE_REORG_1
347 typedef U16 AtmVpci; /* ATM virtual path connection id */
348 typedef U16 AtmVpi; /* ATM virtual path id */
351 typedef U16 AtmVci; /* ATM virtual channel id */
353 typedef U8 AtmLp; /* ATM loss priority */
355 typedef U8 AtmCi; /* ATM congestion indication */
357 typedef U8 AtmRs; /* ATM reception status */
359 typedef U8 AtmUu; /* ATM user-to-user field in CPCS PDUs */
361 typedef U32 AtmUui; /* ATM user-to-user indication field in SSCOP PDUs */
363 typedef U8 AtmPt; /* ATM cell payload type */
365 typedef struct atmQos /* ATM quality of service */
367 U8 qosFwd; /* qos in forward direction */
368 U8 qosBwd; /* qos in backward direction */
371 /* Vitual channel structure */
373 typedef struct amVccId /* virtual channel connection identifier */
375 AtmVpci vpci; /* virtual path connection identifier */
376 AtmVci vci; /* virtual channel identifier */
380 typedef struct atmVccId /* VCC id */
382 AtmVpi vpi; /* VPI */
383 AtmVci vci; /* VCI */
387 typedef struct atmVccTbl /* VCC table */
389 U16 count; /* number of VCCs */
390 AtmVccId tbl[MAX_ATMVCCTBL_SZ]; /* VCC list */
393 /* Generic ATM address */
394 typedef struct atmAddr
396 U8 type; /* type of Address (AESA or E.164) */
397 U8 len; /* length (bytes) */
398 U8 strg[ADRLEN]; /* address string */
401 /* ATM address table */
402 typedef struct atmAddrTbl /* ATM address table */
404 U16 count; /* number of ATM addresses */
405 AtmAddr tbl[MAX_ATMADDRTBL_SZ]; /* ATM address list */
408 typedef struct atmTfcDesc /* ATM traffic descriptor */
410 U32 fwdPeakCellRate0; /* forward peak cell rate, CLP = 0 */
411 U32 bwdPeakCellRate0; /* backward peak cell rate, CLP = 0 */
412 U32 fwdPeakCellRate1; /* forward peak cell rate, CLP = 0+1 */
413 U32 bwdPeakCellRate1; /* backward peak cell rate, CLP = 0+1 */
414 U32 fwdSustCellRate0; /* forward sust. cell rate, CLP = 0 */
415 U32 bwdSustCellRate0; /* backward sust. cell rate, CLP = 0 */
416 U32 fwdSustCellRate1; /* forward sust. cell rate, CLP = 0+1 */
417 U32 bwdSustCellRate1; /* backward sust. cell rate, CLP = 0+1 */
418 U32 fwdMeanBurstSize0; /* forward mean burst size, CLP = 0 */
419 U32 bwdMeanBurstSize0; /* backward mean burst size, CLP = 0 */
420 U32 fwdMeanBurstSize1; /* forward mean burst size, CLP = 0+1 */
421 U32 bwdMeanBurstSize1; /* backward mean burst size, CLP = 0+1 */
422 Bool bstEffortReq; /* best effort requested */
423 Bool fwdTagReq; /* tagging requested in forward direction */
424 Bool bwdTagReq; /* tagging requested in backward direction */
427 #endif /* CMFILE_REORG_1 */
432 typedef S16 Baud; /* baud */
434 typedef S16 PhysIntType; /* physical interface type */
436 typedef S16 PathConnType; /* path connection type */
438 typedef S16 Parity; /* parity */
440 typedef S16 CharLength; /* character length */
442 typedef S16 StopBits; /* stop bits */
444 /* tcp/ip typedefs */
446 typedef U32 IpAddr; /* IP address */
448 typedef U16 Port; /* TCP/UDP port */
450 typedef U8 Cmd; /* command */
452 typedef U8 Flags; /* TCP/UDP flags */
454 typedef U8 Ttl; /* time to live */
456 typedef U8 Prec; /* TCP/UDP precedence */
458 typedef U32 Window; /* TCP/UDP window */
460 typedef U8 MtpStatus; /* MTP status */
462 typedef U8 Credit; /* credit */
466 typedef U32 CirId; /* circuit Id */
468 typedef U16 Cic; /* cic */
470 typedef U32 SiInstId; /* instance id */
472 /* B-ISUP typedefs */
474 typedef U32 BiInstId; /* instance id */
478 typedef U32 TpInstId; /* instance id */
480 /* LLC/SNAP definitions */
482 typedef U32 Oui; /* 3-octet OUI in SNAP header */
483 typedef U16 Pid; /* 2-octet protocol id in SNAP header */
484 typedef U32 LlcId; /* LLC id */
487 #ifndef CMFILE_REORG_1
491 typedef S32 AmInstId; /* service user/provider instance id */
492 typedef U16 AmEndptRefType; /* endpoint reference */
493 typedef U32 AmSeqNmb; /* sequence number */
495 /* q.saal typedefs */
497 typedef U16 AsErrorCode; /* q.saal error code (Q.SAAL1 Appendix 1) */
501 typedef U32 UmInteger; /* ume integer */
503 typedef struct umObjId /* ume object identifier */
505 Data length; /* length of string */
506 UmInteger strg[UM_MAXLEN_OBJ_ID]; /* string of sub-identifiers */
509 typedef struct umMib UmMib; /* ume mib */
513 * LAN Emulation typedefs
516 /* general typedefs */
518 typedef U16 LecId; /* LEC Id */
519 typedef U8 Protocol; /* protocol */
520 typedef U8 Version; /* version */
521 typedef U16 OpCode; /* op code in control frames */
522 typedef U16 LaneStatus; /* status in control frames */
523 typedef U32 TransId; /* transaction id */
524 typedef U16 LaneFlags; /* flags in control frames */
525 typedef U8 LanType; /* LAN type */
526 typedef U8 MtuIdx; /* max frame size - index */
527 typedef U16 MtuVal; /* max frame size - value */
528 typedef U16 Tag; /* tag indicating LAN destination type */
529 typedef U8 VccNature; /* VCC nature - SVC, PVC, etc. */
530 typedef U8 VccType; /* VCC type - control, data, etc */
531 typedef U8 ProfileId; /* HCC profile id */
534 typedef struct lanName /* LAN name */
536 U8 length; /* length of string */
537 U8 strg[MAX_LANNAME]; /* name string */
540 /* LAN destination typedefs */
542 typedef struct macAddr /* MAC address */
544 U8 strg[MACADDRLEN]; /* address string */
547 typedef struct macAddrTblEntry /* entry in table of MAC addresses */
549 U8 proxyClass; /* proxy class - local, learned */
550 MacAddr macAddr; /* MAC address */
553 typedef struct macAddrTbl /* table of MAC addresses */
555 U8 count; /* number of entries */
556 MacAddrTblEntry tbl[MAX_MACADDRTBL]; /* table of MAC addresses */
559 typedef struct rd /* route designator */
561 U16 lanId; /* LAN id, segment id - 12 bits */
562 U8 bridgeId; /* bridge id - 4 bits */
565 typedef struct rdTblEntry /* entry in table of route designators */
567 Rd rd; /* route designator */
570 typedef struct rdTbl /* table of route designators */
572 U8 count; /* number of entries */
573 RdTblEntry tbl[MAX_RDTBL];/* table of route designator */
576 typedef struct lanDst /* LAN destination - MAC addr, route desg */
578 Tag tag; /* LAN destination type */
581 MacAddr macAddr; /* MAC address */
582 Rd rd; /* route designator */
587 /* control frame typedefs */
589 typedef struct laneCtrlHdr /* control frame header */
591 LecId marker; /* control frame marker */
592 Protocol protocol; /* LANE protocol */
593 Version version; /* LANE version */
594 OpCode opCode; /* operation code */
595 LaneStatus status; /* request status */
596 TransId transId; /* transaction id */
597 LecId reqLecId; /* requestor LEC id */
598 LaneFlags flags; /* bit flags */
599 LanDst srcLanDst; /* source LAN destination */
600 LanDst dstLanDst; /* target LAN destination */
601 Addrs srcAtmAddr; /* source ATM address */
602 Addrs dstAtmAddr; /* target ATM address */
603 LanType lanType; /* LAN type */
604 MtuIdx mtuIdx; /* MTU */
605 U8 nmbTLV; /* number of TLV entries in list */
606 LanName lanName; /* LAN name */
609 typedef struct laneTLVEnt /* type-length-value entry */
611 U32 type; /* type of value */
612 U8 length; /* length of value */
613 U8 value[MAX_TLV_LEN]; /* value */
616 typedef struct laneCfg /* configuration frame */
618 LaneTLVEnt tlvTbl[MAX_TLV_TBL]; /* list of TLV entries */
621 typedef struct laneCtrlFrame /* all control frames */
623 LaneCtrlHdr hdr; /* frame header */
624 union /* remainder of frame */
626 LaneCfg cfg; /* configuration frame */
633 typedef U32 PnPortId;
636 typedef struct pnNodeId
638 U8 id[PN_NODEID_LEN];
641 #endif /* CMFILE_REORG_1 */
645 /* header typedefs */
647 typedef struct octStrg /* octet string */
649 S32 length; /* length */
650 U8 val[MF_SIZE_TKNSTR]; /* value */
653 typedef struct tknHdr /* token header */
655 U8 pres; /* present */
656 U8 spare1; /* for 16 bit alignment */
657 U16 spare2; /* for 32 bit alignment */
659 U32 spare3; /* for 64 bit alignment */
663 typedef struct elmtHdr /* element header */
665 U8 pres; /* present */
666 U8 actnInd; /* action indicator */
667 U16 compInd; /* for alignment */
669 U32 spare; /* for 64 bit alignment */
675 typedef struct tknU8 /* token U8 */
677 U8 pres; /* present flag */
679 U16 spare1; /* for alignment */
681 U32 spare2; /* for 64 bit alignment */
685 typedef struct tknS8 /* token S8 */
687 U8 pres; /* present flag */
689 U16 spare1; /* for alignment */
691 U32 spare2; /* for 64 bit alignment */
695 typedef struct tknU16 /* token U16 */
697 U8 pres; /* present flag */
698 U8 spare1; /* for alignment */
701 U32 spare2; /* for 64 bit alignment */
705 typedef struct tknU32 /* token U32 */
707 U8 pres; /* present flag */
708 U8 spare1; /* for alignment */
709 U16 spare2; /* for alignment */
713 typedef struct tknS32 /* token S32 */
715 U8 pres; /* present flag */
716 U8 spare1; /* for alignment */
717 U16 spare2; /* for alignment */
721 typedef struct tknStrS /* token string */
723 U8 pres; /* present flag */
725 U16 spare1; /* for alignment */
727 U32 spare2; /* for 64 bit alignment */
728 U8 val[(MF_SIZE_TKNSTRS + 7) & 0xff8]; /* string value */
730 U8 val[(MF_SIZE_TKNSTRS + 3) & 0xffc]; /* string value */
734 typedef struct tknStrM /* token string */
736 U8 pres; /* present flag */
738 U16 spare1; /* for alignment */
740 U32 spare2; /* for 64 bit alignment */
741 U8 val[(MF_SIZE_TKNSTRM + 7) & 0xff8]; /* string value */
743 U8 val[(MF_SIZE_TKNSTRM + 3) & 0xffc]; /* string value */
747 typedef struct tknStr /* token string */
749 U8 pres; /* present flag */
751 U16 spare1; /* for alignment */
753 U32 spare2; /* for 64 bit alignment */
754 U8 val[(MF_SIZE_TKNSTR + 7) & 0xff8]; /* string value */
756 U8 val[(MF_SIZE_TKNSTR + 3) & 0xffc]; /* string value */
760 typedef struct tknStrE /* token string extended */
762 U8 pres; /* present flag */
764 U16 spare1; /* for alignment */
766 U32 spare2; /* for 64 bit alignment */
767 U8 val[(MF_SIZE_TKNSTRE + 7) & 0xff8]; /* string value */
769 U8 val[(MF_SIZE_TKNSTRE + 3) & 0xffc]; /* string value */
773 typedef struct tknStrXL /* token string extra long */
775 U16 len; /* length */
776 U8 pres; /* present flag */
777 U8 spare1; /* for alignment */
779 U32 spare2; /* for 64 bit alignment */
781 U8 *val; /* string value (use allocated memory) */
784 typedef struct tknStr4 /* token string */
786 U8 pres; /* present flag */
788 U16 spare1; /* for alignment */
790 U32 spare2; /* for 64 bit alignment */
791 U8 val[8]; /* string value - 8 byte alligned */
793 U8 val[4]; /* string value - 4 byte alligned */
794 #endif /* ALIGN_64BIT */
797 typedef struct tknStr12 /* token string */
799 U8 pres; /* present flag */
801 U16 spare1; /* for alignment */
803 U32 spare2; /* for 64 bit alignment */
804 U8 val[16]; /* string value - 8 byte alligned */
806 U8 val[12]; /* string value - 4 byte alligned */
807 #endif /* ALIGN_64BIT */
810 typedef struct tknStr32 /* token string */
812 U8 pres; /* present flag */
814 U16 spare1; /* for alignment */
816 U32 spare2; /* for 64 bit alignment */
818 U8 val[32]; /* string value - 4 byte alligned */
821 typedef struct tknStr64 /* token string */
823 U8 pres; /* present flag */
825 U16 spare1; /* for alignment */
827 U32 spare2; /* for 64 bit alignment */
829 U8 val[64]; /* string value - 4 byte alligned */
832 typedef struct tknStr132 /* token string */
834 U8 pres; /* present flag */
836 U16 spare1; /* for alignment */
838 U32 spare2; /* for 64 bit alignment */
839 U8 val[136]; /* string value - 8 byte alligned */
841 U8 val[132]; /* string value - 4 byte alligned */
842 #endif /* ALIGN_64BIT */
845 typedef struct tknStr256 /* token string */
847 U8 pres; /* present flag */
849 U16 spare1; /* for alignment */
851 U32 spare2; /* for 64 bit alignment */
853 U8 val[256]; /* string value - 4 byte alligned */
856 typedef struct tknOid /* Object Identifier */
858 U8 pres; /* present flag */
860 U16 spare1; /* for alignment */
862 U32 spare2; /* for 64 bit alignment */
864 /* gen_x_001.main_81 : changed val from U32 to U16 with comilation flag
867 U32 val[32]; /* max 32 integers of less than 64k value */
869 U16 val[32]; /* max 32 integers of less than 64k value */
873 typedef struct tknBits /* token bits */
875 U8 pres; /* present flag */
876 U8 len; /* for alignment */
877 U16 spare1; /* for alignment */
879 U32 spare2; /* for 64 bit alignment */
880 U8 val[(MF_SIZE_TKNBITS + 7) & 0xff8]; /* string value */
882 U8 val[(MF_SIZE_TKNBITS + 3) & 0xffc]; /* string value */
886 typedef struct elmtStr /* element string */
888 ElmtHdr eh; /* element header */
889 TknStr str; /* network specific information */
892 typedef struct cdPtyNmb /* called party number tokens */
894 ElmtHdr eh; /* element header */
895 TknU8 nmbPlanId; /* numbering plan identification */
896 TknU8 typeNmb0; /* type of number */
897 #ifdef CDPTYNMB_32DIGIT
898 TknStrM nmbDigits; /* number digits */
900 TknStrS nmbDigits; /* number digits */
901 #endif /* CDPTYNMB_32DIGIT */
904 typedef struct redirNmb /* redirecting number tokens */
906 ElmtHdr eh; /* element header */
907 TknU8 nmbPlanId; /* numbering plan identification */
908 TknU8 typeNmb; /* type of number */
909 TknU8 screenInd; /* screening indicator */
910 TknU8 presInd; /* presentation indicator */
911 TknU8 rsnRedirect; /* reason for redirection */
912 TknStrS nmbDigits; /* number digits */
915 typedef struct srvClass /* service class */
920 struct /* frame relay */
922 Bool cr; /* command response bit */
923 Bool de; /* discard eligibility bit */
927 Prior prior; /* priority */
932 /* ip header, without options */
934 typedef struct _ip /* ip header */
936 U8 ip_hl; /* header length */
937 Prec ip_tos; /* type of service */
938 U16 ip_len; /* total length */
939 U16 ip_id; /* identification */
940 U16 ip_off; /* fragment offset field */
941 Ttl ip_ttl; /* time to live */
942 U8 ip_p; /* protocol */
943 U16 ip_sum; /* checksum */
944 IpAddr ip_src; /* source address */
945 IpAddr ip_dst; /* dest address */
951 #ifndef CMFILE_REORG_1
953 /* info elements that can be used for routing calls */
955 typedef struct amCdPtySad /* Called Party Sub Address Tokens */
957 ElmtHdr eh; /* element header */
958 TknU8 oddEvenInd; /* odd/even indicator */
959 TknU8 typeSad; /* type of sub address */
960 TknStrS sadInfo; /* address/number information */
963 typedef struct amBHiLyrInfo /* Broadband High Layer Information Tokens */
965 ElmtHdr eh; /* element header */
966 TknU8 hiLyrInfoType; /* high layer information type */
967 TknStrS hiLyrInfo; /* high layer information */
970 typedef struct amBBearCap /* Broadband Bearer Capability Tokens */
972 ElmtHdr eh; /* element header */
973 TknU8 bearClass; /* bearer class */
974 TknU8 timingReq; /* timing requirement */
975 TknU8 tfcType; /* traffic type */
976 TknU8 atmTfrCap; /* ATM transfer capability */
977 TknU8 usrPlaneConCfg; /* user plane connection configuration */
978 TknU8 suscClip; /* susceptability to clipping */
981 typedef struct amQosParam /* Quality of Service Parameter Tokens */
983 ElmtHdr eh; /* element header */
984 TknU8 qosClassFwd; /* quality of service class forward */
985 TknU8 qosClassBwd; /* quality of service class backward */
988 typedef struct amEtoeDly /* End To End Transit Delay Tokens */
990 ElmtHdr eh; /* element header */
991 TknU8 cumTransDlyId; /* cumulative transit delay id */
992 TknU16 cumTransDly; /* cumulative transit delay value */
993 TknU8 reqTransDlyId; /* requested max end to end transit delay id */
994 TknU16 reqTransDly; /* maximum end to end transit delay value */
995 TknU8 pnniAccFMCTDId; /* PNNI acceptable forward max. CTD ID */
996 TknU32 pnniAccFMCTD; /* PNNI acceptable forward max. CTD */
997 TknU8 pnniCumFMCTDId; /* PNNI acceptable forward max. CTD ID */
998 TknU32 pnniCumFMCTD; /* PNNI acceptable forward max. CTD */
999 TknU8 netGenInd; /* network generated indicator */
1002 typedef struct amOamTfcDesc /* OAM Traffic Descriptor Tokens */
1004 ElmtHdr eh; /* element header */
1005 TknU8 usrNetFaultMgmt; /* user network fault management indicator */
1006 TknU8 compInd; /* compliance indicator */
1007 TknU8 shapingInd; /* shaping indicator */
1008 TknU8 bwdEtoeOamF5FlInd; /* backward e-to-e OAM F5 flow indicator */
1009 TknU8 fwdEtoeOamF5FlInd; /* forward e-to-e OAM F5 flow indicator */
1012 typedef struct amEndptRef /* Endpoint Reference Tokens */
1014 ElmtHdr eh; /* element header */
1015 TknU8 endptRefType; /* endpoint reference type */
1016 TknU16 endptRefVal; /* endpoint reference value */
1019 typedef struct amAalParam /* AAL Parameters Tokens */
1021 ElmtHdr eh; /* element header */
1022 TknU8 aalType; /* AAL type */
1024 /* Token definition for AAL-1 */
1025 TknU8 subTypeId; /* Subtype Identifier */
1026 TknU8 subType; /* Subtype */
1027 TknU8 cbrRateId; /* CBR Rate Identifier */
1028 TknU8 cbrRate; /* CBR Rate */
1029 TknU8 multId; /* Multiplier Identifier */
1030 TknU16 multVal; /* Multiplier value */
1031 TknU8 srcClkFreqMetId; /* Source clock Frequency method identifier */
1032 TknU8 srcClkFreqMet; /* Source Clock frequency method */
1033 TknU8 errCrMetId; /* Error correction method identifier */
1034 TknU8 errCrMet; /* Error correction method */
1035 TknU8 strDatTxBlkszId; /* Structured data transfer blocksize Id. */
1036 TknU8 strDatTxBlksz0; /* Structured data transfer blocksize - oct 1*/
1038 /* Token definition for AAL-1, except in UNI 3.0 */
1039 TknU8 strDatTxBlksz1; /* Structured data transfer blocksize - oct 2*/
1041 /* Token definition for AAL-1 */
1042 TknU8 prtFillCellId; /* Partially filled cells Identifier */
1043 TknU8 prtFillCellMet; /* Partially filled cells method */
1045 /* Token definition for AAL-3/4 and AAL-5 */
1046 TknU8 fwdMaxCpcsSduSzId; /* Forward maximum CPCS-SDU size identifier */
1047 TknU16 fwdMaxCpcsSduSz; /* Forward maximum CPCS-SDU size */
1048 TknU8 bwdMaxCpcsSduSzId; /* Forward maximum CPCS-SDU size identifier */
1049 TknU16 bwdMaxCpcsSduSz; /* Forward maximum CPCS-SDU size */
1051 /* Token definition for AAL-3/4 only */
1052 TknU8 midRangeId; /* MID Range identifier */
1053 TknU16 loMidRange; /* MID Range value */
1055 /* Token definition for AAL-3/4 only, except in UNI 3.0 */
1056 TknU16 hiMidRange; /* MID Range value */
1058 /* Token definition for AAL-3/4 and AAL-5 and only for UNI 3.0 */
1059 TknU8 modeId; /* Mode identifier */
1060 TknU8 mode; /* Mode - Streaming/Message */
1062 /* Token definition for AAL-3/4 and AAL-5 */
1063 TknU8 sscsTypeId; /* SSCS Type Identifier */
1064 TknU8 sscsType; /* SSCS Type */
1066 /* Token definition for User defined AAL */
1067 TknU32 usrDefAalInfo; /* User defined AAL information */
1070 typedef struct amBLoLyrInfo /* Broadband Low Layer Information Tokens */
1072 ElmtHdr eh; /* element header */
1073 TknU8 usrInfoLyr1Prot; /* user information layer 1 protocol */
1074 TknU8 lyr1Id; /* Layer 1 id */
1075 TknU8 usrInfoLyr2Prot; /* user information layer 2 protocol */
1076 TknU8 lyr2Id; /* Layer 2 id */
1077 TknU8 q933Use; /* Q.933 use */
1078 TknU8 lyr2OprMode; /* Mode of operation */
1079 TknU8 winSize; /* Window size */
1080 TknU8 usrSpecLyr2ProtInfo; /* User specified layer 2 protocol info */
1081 TknU8 usrInfoLyr3Prot; /* user information layer 3 protocol */
1082 TknU8 lyr3Id; /* Layer 3 id */
1083 TknU8 lyr3OprMode; /* Mode of operation */
1084 TknU8 defPktSize; /* Default packet size */
1085 TknU8 pktWinSize; /* Default packet size */
1086 TknU8 usrSpecLyr3ProtInfo; /* User specified layer 3 protocol info */
1087 TknU8 initProtId; /* Initial protocol Identifier bits 8-2 */
1088 TknU8 snapId; /* SNAP identifier */
1089 TknU32 oui; /* Organisation unique identifier */
1090 TknU16 protId; /* Protocol identifier */
1093 typedef struct amAtmTfcDesc /* ATM Traffic Descriptor Tokens */
1095 ElmtHdr eh; /* element header */
1096 TknU8 fwdPeakCellRateId0; /* forward peak cell rate id, CLP = 0 */
1097 TknU32 fwdPeakCellRate0; /* forward peak cell rate, CLP = 0 */
1098 TknU8 bwdPeakCellRateId0; /* backward peak cell rate id, CLP = 0 */
1099 TknU32 bwdPeakCellRate0; /* backward peak cell rate, CLP = 0 */
1100 TknU8 fwdPeakCellRateId1; /* forward peak cell rate id, CLP = 0+1 */
1101 TknU32 fwdPeakCellRate1; /* forward peak cell rate, CLP = 0+1 */
1102 TknU8 bwdPeakCellRateId1; /* backward peak cell rate id, CLP = 0+1 */
1103 TknU32 bwdPeakCellRate1; /* backward peak cell rate, CLP = 0+1 */
1104 TknU8 fwdSustCellRateId0; /* forward sust. cell rate id, CLP = 0 */
1105 TknU32 fwdSustCellRate0; /* forward sust. cell rate, CLP = 0 */
1106 TknU8 bwdSustCellRateId0; /* backward sust. cell rate id, CLP = 0 */
1107 TknU32 bwdSustCellRate0; /* backward sust. cell rate, CLP = 0 */
1108 TknU8 fwdSustCellRateId1; /* forward sust. cell rate id, CLP = 0+1 */
1109 TknU32 fwdSustCellRate1; /* forward sust. cell rate, CLP = 0+1 */
1110 TknU8 bwdSustCellRateId1; /* backward sust. cell rate id, CLP = 0+1 */
1111 TknU32 bwdSustCellRate1; /* backward sust. cell rate, CLP = 0+1 */
1112 TknU8 fwdMeanBurstSizeId0; /* forward mean burst size id, CLP = 0 */
1113 TknU32 fwdMeanBurstSize0; /* forward mean burst size, CLP = 0 */
1114 TknU8 bwdMeanBurstSizeId0; /* backward mean burst size id, CLP = 0 */
1115 TknU32 bwdMeanBurstSize0; /* backward mean burst size, CLP = 0 */
1116 TknU8 fwdMeanBurstSizeId1; /* forward mean burst size id, CLP = 0+1 */
1117 TknU32 fwdMeanBurstSize1; /* forward mean burst size, CLP = 0+1 */
1118 TknU8 bwdMeanBurstSizeId1; /* backward mean burst size id, CLP = 0+1 */
1119 TknU32 bwdMeanBurstSize1; /* backward mean burst size, CLP = 0+1 */
1120 TknU8 bstEffortReq; /* best effort requested */
1121 TknU8 tfcMgmtOptId; /* traffic management options identifier */
1122 TknU8 fwdTagReq; /* tagging requested in forward direction */
1123 TknU8 bwdTagReq; /* tagging requested in backward direction */
1124 TknU8 bwdFrmDisc; /* frame discard in backward direction */
1125 TknU8 fwdFrmDisc; /* frame discard in forward direction */
1126 TknU8 fwdAbrMinCellRateId; /* forward ABR min. cell rate id, CLP = 0+1 */
1127 TknU32 fwdAbrMinCellRate; /* forward ABR min. cell rate, CLP = 0+1 */
1128 TknU8 bwdAbrMinCellRateId; /* backward ABR min. cell rate id, CLP = 0+1 */
1129 TknU32 bwdAbrMinCellRate; /* backward ABR min. cell rate, CLP = 0+1 */
1132 typedef struct amCauseDgn /* Cause and Diagnostics Tokens */
1134 ElmtHdr eh; /* element header */
1135 TknU8 location; /* location */
1136 TknU8 causeVal; /* cause value */
1137 TknStrM dgnVal; /* Diagnostics value */
1140 typedef struct amCgPtyNmb /* Calling Party Number Tokens */
1142 ElmtHdr eh; /* element header */
1143 TknU8 nmbPlanId; /* address/numbering plan identification */
1144 TknU8 typeNmb; /* type of number */
1145 TknU8 screenInd; /* screening indicator */
1146 TknU8 presInd; /* presentation indicator */
1147 TknStrS nmbDigits; /* address/number information */
1150 typedef struct amCgPtySad /* Calling Party Sub Address Tokens */
1152 ElmtHdr eh; /* element header */
1153 TknU8 oddEvenInd; /* odd/even indicator */
1154 TknU8 typeSad; /* type of sub address */
1155 TknStrS sadInfo; /* address/number information */
1158 typedef struct amNBearCap /* Narrowband Bearer Capability Tokens */
1160 ElmtHdr eh; /* element header */
1161 TknU8 infoTranCap; /* information transfer capability */
1162 TknU8 codingStd; /* coding standard */
1163 TknU8 infoTranRate0; /* information transfer rate */
1164 TknU8 tranMode; /* transfer mode */
1165 TknU8 establish; /* establishment */
1166 TknU8 cfg; /* configuration */
1167 TknU8 chanStruct; /* structure */
1168 TknU8 infoTranRate1; /* information transfer rate */
1169 TknU8 symmetry; /* symmetry */
1170 TknU8 usrInfoLyr1Prot; /* usr information layer 1 protocol */
1171 TknU8 lyr1Ident; /* layer 1 identity */
1172 TknU8 usrRate; /* user rate */
1173 TknU8 negot; /* negotiation */
1174 TknU8 syncAsync; /* synchronous/asynchronous */
1175 /*------------------------------------------------------------------------*/
1176 /* The following six tokens represent a uinon of octets 5b.1 and 5b.2 of */
1177 /* the Narrow Band Bearer Capability. */
1178 /*------------------------------------------------------------------------*/
1179 TknU8 FlcRx_BandNeg; /* flow control on reception or
1180 inband/outband negotiation */
1181 TknU8 FlcTx_Assgn; /* flow control on transmission or
1183 TknU8 NicRx_LLINeg; /* network independent clock on reception or
1184 logical link identifier negotiation */
1185 TknU8 NicTx_Mode; /* network independent clock on transmission or
1186 mode of operation */
1187 TknU8 Rate_MFrm; /* intermediate rate (low bit) or Multi
1189 TknU8 Rate_Hdr; /* intermediate rate (high bit) or rate
1190 adaptation Hdr/ no Headr */
1191 TknU8 parity; /* parity information */
1192 TknU8 nmbDatBits; /* number of data bits excluding parity bit */
1193 TknU8 nmbStopBits; /* number of stop bits */
1194 TknU8 modemType; /* modem type */
1195 TknU8 duplexMode; /* duplex mode */
1196 TknU8 usrInfoLyr2Prot; /* user information layer 2 protocol */
1197 TknU8 lyr2Ident; /* layer 2 identity */
1198 TknU8 usrInfoLyr3Prot; /* user information layer 3 protocol */
1199 TknU8 lyr3Ident0; /* layer 3 identity */
1202 typedef struct amNLoLyrComp /* Narrowband Low Layer Compatibility Tokens */
1204 ElmtHdr eh; /* element header */
1205 TknU8 infoTranCap; /* information transfer capability */
1206 TknU8 codingStd; /* coding standard */
1207 TknU8 negInd; /* negotiation indicator */
1208 TknU8 infoTranRate0; /* information transfer rate */
1209 TknU8 tranMode; /* transfer mode */
1210 TknU8 establish; /* establishment */
1211 TknU8 cfg; /* configuration */
1212 TknU8 chanStruct; /* structure */
1213 TknU8 infoTranRate1; /* information transfer rate */
1214 TknU8 symmetry; /* symmetry */
1215 TknU8 usrInfoLyr1Prot; /* usr information layer 1 protocol */
1216 TknU8 lyr1Ident; /* layer 1 identity */
1217 TknU8 usrRate; /* user rate */
1218 TknU8 negot; /* negotiation */
1219 TknU8 syncAsync; /* synchronous/asynchronous */
1220 /*------------------------------------------------------------------------*/
1221 /* The following six tokens represent a uinon of octets 5b.1 and 5b.2 of */
1222 /* the Narrow Band Lower Layer Compatibility */
1223 /*------------------------------------------------------------------------*/
1224 TknU8 FlcRx_BandNeg; /* flow control on reception or
1225 inband/outband negotiation */
1226 TknU8 FlcTx_Assgn; /* flow control on transmission or
1228 TknU8 NicRx_LLINeg; /* network independent clock on reception or
1229 logical link identifier negotiation */
1230 TknU8 NicTx_Mode; /* network independent clock on transmission or
1231 mode of operation */
1232 TknU8 Rate_MFrm; /* intermediate rate (low bit) or Multi
1234 TknU8 Rate_Hdr; /* intermediate rate (high bit) or rate
1235 adaptation Hdr/ no Headr */
1236 TknU8 parity; /* parity information */
1237 TknU8 nmbDatBits; /* number of data bits excluding parity bit */
1238 TknU8 nmbStopBits; /* number of stop bits */
1239 TknU8 modemType; /* modem type */
1240 TknU8 duplexMode; /* duplex mode */
1241 TknU8 usrInfoLyr2Prot; /* user information layer 2 protocol */
1242 TknU8 lyr2Ident; /* layer 2 identity */
1243 TknU8 optLyr2ProtInfo; /* optional layer 2 protocol information */
1244 TknU8 usrInfoLyr3Prot; /* user information layer 3 protocol */
1245 TknU8 lyr3Ident1; /* layer 3 identity */
1246 TknU8 optLyr3ProtInfo; /* optional layer 3 protocol information */
1249 typedef struct amNHiLyrComp /* Narrowband High Layer Compatibility Tokens */
1251 ElmtHdr eh; /* element header */
1252 TknU8 presMethod; /* presentation method */
1253 TknU8 interpretation; /* interpretation */
1254 TknU8 codingStd; /* coding standard */
1255 TknU8 highLyrCharId; /* high layer characteristics identification */
1256 TknU8 extHighLyrCharId; /* extended high layer characteristics id */
1259 typedef struct amProgInd /* Progress Indicator Tokens */
1261 ElmtHdr eh; /* element header */
1262 TknU8 progLocation; /* location */
1263 TknU8 codingStd; /* coding standard */
1264 TknU8 progDesc; /* progress description */
1267 #if (DEF_SIG_PNNI | DEF_SIG_AINI)
1268 typedef struct amCrankback /* Crankback Tokens */
1270 ElmtHdr eh; /* element header */
1271 TknU8 cbLevel; /* crankback level */
1272 TknU8 blkTransType; /* blocked transit type */
1274 TknStrS blkNodeId; /* blocked node id */
1275 TknStrS blkLinkPreNodeId; /* blocked link's preceeding node id */
1276 TknU32 blkLinkPortId; /* blocked link port id */
1277 TknStrS blkLinkSuccNodeId; /* blocked link's succeding node id */
1278 #endif /* SIG_PNNI */
1279 TknU8 cbCause; /* crankback cause */
1281 TknStrM cbDgn; /* crankback cause diagnostics */
1282 #endif /* SIG_PNNI */
1285 typedef struct amCdPtySoftPvc /* Called Party Soft PVPC/PVCC Tokens */
1287 ElmtHdr eh; /* element header */
1288 TknU8 selType; /* VPI/VCI selection Type */
1289 TknU8 vpiId; /* VPI id */
1290 TknU16 vpi; /* VPI */
1291 TknU8 vciId; /* VCI id */
1292 TknU16 vci; /* VCI */
1294 TknU8 dlciId; /* DLCI Identifer */
1295 TknU32 dlci; /* Dlci Value */
1296 #endif /* SPVC_FR */
1299 typedef struct amCgPtySoftPvc /* Calling Party Soft PVPC/PVCC Tokens */
1301 ElmtHdr eh; /* element header */
1302 TknU8 vpiId; /* VPI id */
1303 TknU16 vpi; /* VPI */
1304 TknU8 vciId; /* VCI id */
1305 TknU16 vci; /* VCI */
1307 TknU8 dlciId; /* DLCI Identifer */
1308 TknU32 dlci; /* Dlci Value */
1309 #endif /* SPVC_FR */
1311 #endif /* DEF_SIG_PNNI | DEF_SIG_AINI */
1313 typedef struct amConnNmb /* Connected Number Tokens */
1315 ElmtHdr eh; /* element header */
1316 TknU8 nmbPlanId; /* address/numbering plan identification */
1317 TknU8 typeNmb; /* type of number */
1318 TknU8 screenInd; /* screening indicator */
1319 TknU8 presInd; /* presentation indicator */
1320 TknStrS nmbDigits; /* address/number information */
1323 #if (DEF_SIG_PNNI | DEF_SIG_AINI | DEF_UNI40)
1324 typedef struct amConnSad /* Calling Party Sub Address Tokens */
1326 ElmtHdr eh; /* element header */
1327 TknU8 oddEvenInd; /* odd/even indicator */
1328 TknU8 typeSad; /* type of sub address */
1329 TknStrS sadInfo; /* address/number information */
1332 typedef struct amGenIdTrans /* Generic Identifier Transport Tokens */
1334 ElmtHdr eh; /* element header */
1335 TknStrM genId; /* generic identifier */
1338 typedef AmAtmTfcDesc AmAltAtmTfcDesc; /* Alternative ATM Traffic Desc. */
1340 typedef struct amMinAccAtmTfcDesc /* Minimum acceptable ATM Traffic Desc. */
1342 ElmtHdr eh; /* element header */
1343 TknU8 fwdPeakCellRateId0; /* forward peak cell rate id, CLP = 0 */
1344 TknU32 fwdPeakCellRate0; /* forward peak cell rate, CLP = 0 */
1345 TknU8 bwdPeakCellRateId0; /* backward peak cell rate id, CLP = 0 */
1346 TknU32 bwdPeakCellRate0; /* backward peak cell rate, CLP = 0 */
1347 TknU8 fwdPeakCellRateId1; /* forward peak cell rate id, CLP = 0+1 */
1348 TknU32 fwdPeakCellRate1; /* forward peak cell rate, CLP = 0+1 */
1349 TknU8 bwdPeakCellRateId1; /* backward peak cell rate id, CLP = 0+1 */
1350 TknU32 bwdPeakCellRate1; /* backward peak cell rate, CLP = 0+1 */
1351 } AmMinAccAtmTfcDesc;
1353 typedef struct amExtQosParam /* Extended QOS parameter */
1355 ElmtHdr eh; /* element header */
1356 TknU8 origin; /* origin of this IE */
1357 TknU8 accFwdPpCDVId; /* acceptable forward peak-to-peak cell
1358 * delay variation identifier */
1359 TknU32 accFwdPpCDV; /* acceptable forward peak-to-peak cell
1360 * delay variation */
1361 TknU8 accBwdPpCDVId; /* acceptable backward peak-to-peak cell
1362 * delay variation identifier */
1363 TknU32 accBwdPpCDV; /* acceptable backward peak-to-peak cell
1364 * delay variation */
1365 TknU8 cumFwdPpCDVId; /* cumulative forward peak-to-peak cell
1366 * delay variation identifier */
1367 TknU32 cumFwdPpCDV; /* cumulative forward peak-to-peak cell
1368 * delay variation */
1369 TknU8 cumBwdPpCDVId; /* cumulative backward peak-to-peak cell
1370 * delay variation identifier */
1371 TknU32 cumBwdPpCDV; /* cumulative backward peak-to-peak cell
1372 * delay variation */
1373 TknU8 accFwdCLRId; /* acceptable forward cell loss ratio
1375 TknU8 accFwdCLR; /* acceptable forward cell loss ratio */
1376 TknU8 accBwdCLRId; /* acceptable backward cell loss ratio
1378 TknU8 accBwdCLR; /* acceptable backward cell loss ratio */
1381 typedef struct amAbrAddParam /* ABR additional parameters */
1383 ElmtHdr eh; /* element header */
1384 TknU8 fwdAddParamRecId; /* forward additional parameters record identifier */
1385 TknU32 fwdAddParamRec; /* forward additional parameters record */
1386 TknU8 bwdAddParamRecId; /* backward additional parameters record identifier */
1387 TknU32 bwdAddParamRec; /* backward additional parameters record */
1390 typedef struct amAbrSetupParam /* ABR Setup parameters */
1392 ElmtHdr eh; /* element header */
1393 TknU8 fwdAbrICRId; /* forward ABR initial cell rate identifier */
1394 TknU32 fwdAbrICR; /* forward ABR initial cell rate */
1395 TknU8 bwdAbrICRId; /* backward ABR initial cell rate identifier */
1396 TknU32 bwdAbrICR; /* backward ABR initial cell rate */
1397 TknU8 fwdAbrTBEId; /* forward ABR transient buffer exposure identifier */
1398 TknU32 fwdAbrTBE; /* forward ABR transient buffer exposure */
1399 TknU8 bwdAbrTBEId; /* backward ABR transient buffer exposure identifier */
1400 TknU32 bwdAbrTBE; /* backward ABR transient buffer exposure */
1401 TknU8 cumRmFRTTId; /* cumulative RM fixed round trip time identifier */
1402 TknU32 cumRmFRTT; /* cumulative RM fixed round trip time */
1403 TknU8 fwdRIFId; /* forward rate increment factor identifier */
1404 TknU8 fwdRIF; /* forward rate increment factor */
1405 TknU8 bwdRIFId; /* backward rate increment factor identifier */
1406 TknU8 bwdRIF; /* backward rate increment factor */
1407 TknU8 fwdRDFId; /* forward rate decrement factor identifier */
1408 TknU8 fwdRDF; /* forward rate decrement factor */
1409 TknU8 bwdRDFId; /* backward rate decrement factor identifier */
1410 TknU8 bwdRDF; /* backward rate decrement factor */
1412 #endif /* DEF_SIG_PNNI | DEF_SIG_AINI | DEF_UNI40 */
1414 #if (DEF_Q2931 | DEF_SIG_PNNI | DEF_SIG_AINI | DEF_UNI40)
1415 typedef struct amNotInd /* Notification Indicator Tokens */
1417 ElmtHdr eh; /* element header */
1418 TknStrE notDesc; /* notification description */
1420 #endif /* DEF_Q2931 | DEF_SIG_PNNI | DEF_SIG_AINI | DEF_UNI40 */
1425 typedef struct aalConParam /* connection parameters for AAL */
1427 AmAalParam aalParam; /* AAL Parameters */
1428 AmAtmTfcDesc atmTfcDesc; /* ATM Traffic Descriptor */
1429 AmBBearCap bBearCap; /* Broadband Bearer Capability */
1430 AmQosParam qosParam; /* Qos parameters */
1431 AmEtoeDly etoeDly; /* End to End Transit Delay */
1432 AmOamTfcDesc oamTfcDesc; /* OAM Traffic Descriptor */
1435 typedef struct amCdPtyNmb /* Called Party Number Tokens */
1437 ElmtHdr eh; /* element header */
1438 TknU8 nmbPlanId; /* address/numbering plan identification */
1439 TknU8 typeNmb; /* type of number */
1440 TknStrS nmbDigits; /* address/number information */
1443 #endif /* CMFILE_REORG_1 */
1447 /* management structures */
1449 typedef struct smCfg /* stack manager */
1451 Ent ent; /* entity */
1452 Inst inst; /* instance */
1453 Region region; /* region */
1454 Pool pool; /* pool */
1455 Priority prior; /* priority */
1456 Route route; /* route */
1457 Selector selector; /* selector */
1460 typedef struct mem /* memory */
1462 Region region; /* region */
1463 Pool pool; /* pool */
1464 U16 spare; /* spare for alignment */
1467 typedef Mem MemoryId; /* memory id */
1472 Selector selector; /* selector */
1473 Priority prior; /* priority */
1474 Route route; /* route */
1475 MemoryId mem; /* memory */
1478 typedef struct tds_header /* header */
1480 U16 msgLen; /* message length - optional */
1481 U8 msgType; /* message type - mandatory */
1482 U8 version; /* version - optional */
1483 U16 seqNmb; /* sequence number - optional */
1484 EntityId entId; /* entity id - mandatory */
1485 ElmntId elmId; /* element id - mandatory */
1487 TranId transId; /* transaction Id - mandatory */
1488 Resp response; /* response parameters - mandatory */
1492 typedef struct tmrCfg /* timer configuration structure */
1494 Bool enb; /* enable */
1495 U16 val; /* value */
1498 typedef struct asyncCfg /* asynchronous configuration */
1500 StopBits stopBits; /* stop bits */
1501 CharLength charLength; /* character length */
1502 Parity rxParity; /* receive parity */
1503 Parity txParity; /* transmit parity */
1507 /* dateTime structure */
1509 typedef struct dateTime /* date and time */
1511 U8 month; /* month */
1514 U8 hour; /* hour - 24 hour clock */
1515 U8 min; /* minute */
1516 U8 sec; /* second */
1517 U8 tenths; /* tenths of second */
1518 /*-- gen_x_001.main_90 - Added variable for microseconds in DateTime--*/
1519 #ifdef SS_DATETIME_USEC
1520 U32 usec; /* micro seconds */
1521 #endif /*-- SS_DATETIME_USEC --*/
1523 /* gen_x_001.main_94: Additions */
1524 /* gen_x_001.main_95: Modifications */
1525 typedef U64 EpcTime;
1528 typedef struct cmStatus
1530 U16 status; /* status of request */
1531 U16 reason; /* failure reason */
1535 typedef struct cmAlarm
1537 DateTime dt; /* data and time */
1538 U16 category; /* alarm category*/
1539 U16 event; /* alarm event */
1540 U16 cause; /* alarm cause */
1543 /* duration structure */
1545 typedef struct duration /* duration */
1548 U8 hours; /* hours */
1549 U8 mins; /* minutes */
1550 U8 secs; /* seconds */
1551 U8 tenths; /* tenths of seconds */
1558 #ifdef CMFILE_REORG_1
1561 typedef struct ssmsgb Buffer;
1563 #ifdef FLAT_BUFFER_OPT
1564 typedef struct _flatBuffer
1574 #ifdef WINNT_IATM /* Windows NT Integrated ATM */
1575 #ifndef CFG_APP /* Don't include ndis.h for config app. */
1576 #include "ndis.h" /* to support NDIS calls (listed above) */
1577 #endif /* CFG_APP */
1579 typedef struct _NDIS_PACKET Buffer; /* forward definition - buffer */
1581 typedef struct ss_buffer Buffer; /* forward definition - buffer */
1583 #endif /* WINNT_IATM */
1586 typedef struct tknBuf
1588 U8 pres; /* Present Flag */
1589 U8 spare1; /* for alignment */
1590 U16 spare2; /* for 32 bit alignment */
1592 U32 spare3; /* for 64 bit alignment */
1594 Buffer *val; /* Buffer type (use allocated memory) */
1597 /* defining the CmIpAddr and CmIpAddr6 */
1598 /* socket typedefs and structs */
1599 typedef U32 CmIpAddr; /* 4 byte IP address */
1600 #ifdef IPV6_SUPPORTED
1601 typedef U8 CmIpAddr6[16]; /* 16 byte IPV6 address */
1602 #endif /* IPV6_SUPPORTED */
1604 /* common packing functions */
1606 /* system services structures */
1607 EXTERN S16 cmPkDateTime ARGS((DateTime *dateTime, Buffer *mBuf));
1608 EXTERN S16 cmPkDuration ARGS((Duration *duration, Buffer *mBuf));
1609 EXTERN S16 cmPkPtr ARGS((PTR ptr, Buffer *mBuf));
1610 EXTERN S16 cmPkEntityId ARGS((EntityId *entityId, Buffer *mBuf));
1611 EXTERN S16 cmPkElmntId ARGS((ElmntId *elmntId, Buffer *mBuf));
1612 EXTERN S16 cmPkMemoryId ARGS((MemoryId *memoryId, Buffer *mBuf));
1614 /* general structures */
1615 EXTERN S16 cmPkSystemId ARGS((SystemId *systemId, Buffer *mBuf));
1616 EXTERN S16 cmPkAddrs ARGS((Addrs *addrs, Buffer *mBuf));
1617 EXTERN S16 cmPkProtAddr ARGS((ProtAddr *protAddr, Buffer *mBuf));
1618 EXTERN S16 cmPkProtAddrTbl ARGS((ProtAddrTbl *protAddr, Buffer *mBuf));
1619 EXTERN S16 cmPkShrtAddrs ARGS((ShrtAddrs *addrs, Buffer *mBuf));
1620 EXTERN S16 cmPkAddrMask ARGS((U8 *mask, Buffer *mBuf));
1621 EXTERN S16 cmPkBndCfg ARGS((BndCfg *bndCfg, Buffer *mBuf));
1622 EXTERN S16 cmPkPst ARGS((Pst *pst, Buffer *mBuf));
1623 EXTERN S16 cmPkElmtHdr ARGS((ElmtHdr *m, Buffer *mBuf));
1624 EXTERN S16 cmPkTknU8 ARGS((TknU8 *tknU8, Buffer *mBuf));
1625 EXTERN S16 cmPkTknS8 ARGS((TknS8 *tknS8, Buffer *mBuf));
1626 EXTERN S16 cmPkTknU16 ARGS((TknU16 *tknU16, Buffer *mBuf));
1627 EXTERN S16 cmPkTknU32 ARGS((TknU32 *tknU32, Buffer *mBuf));
1628 EXTERN S16 cmPkTknStr ARGS((TknStr *tknStr, Buffer *mBuf));
1629 EXTERN S16 cmPkTknStrM ARGS((TknStrM *tknStr, Buffer *mBuf));
1630 EXTERN S16 cmPkTknStrS ARGS((TknStrS *tknStr, Buffer *mBuf));
1631 EXTERN S16 cmPkTknStrE ARGS((TknStrE *tknStr, Buffer *mBuf));
1633 EXTERN S16 cmPkTknStr4 ARGS((TknStr4 *tknStr, Buffer *mBuf));
1634 EXTERN S16 cmPkTknStr12 ARGS((TknStr12 *tknStr, Buffer *mBuf));
1635 EXTERN S16 cmPkTknStr32 ARGS((TknStr32 *tknStr, Buffer *mBuf));
1636 EXTERN S16 cmPkTknStr64 ARGS((TknStr64 *tknStr, Buffer *mBuf));
1637 EXTERN S16 cmPkTknStr132 ARGS((TknStr132 *tknStr, Buffer *mBuf));
1638 EXTERN S16 cmPkTknStr256 ARGS((TknStr256 *tknStr, Buffer *mBuf));
1640 PUBLIC S16 cmPkTknS32 ARGS((TknS32 *tknS32, Buffer *mBuf));
1641 PUBLIC S16 cmPkTknOid ARGS((TknOid *tknOid, Buffer *mBuf));
1642 PUBLIC S16 cmPkTknBuf ARGS((TknBuf *tknBuf, Buffer *mBuf));
1644 #ifdef TDS_ROLL_UPGRADE_SUPPORT
1645 PUBLIC S16 cmPkIntf ARGS((CmIntf *intf, Buffer *mBuf));
1648 /* layer management structures */
1649 EXTERN S16 cmPkHeader ARGS((Header *header, Buffer *mBuf));
1650 EXTERN S16 cmPkSmCfg ARGS((SmCfg *smCfg, Buffer *mBuf));
1651 EXTERN S16 cmPkTmrCfg ARGS((TmrCfg *tmrCfg, Buffer *mBuf));
1652 EXTERN S16 cmPkCmStatus ARGS((CmStatus *status, Buffer *mBuf));
1653 EXTERN S16 cmPkCmAlarm ARGS((CmAlarm *alrm, Buffer *mBuf));
1656 /* common unpacking functions */
1658 /* system services structures */
1659 EXTERN S16 cmUnpkDateTime ARGS((DateTime *dateTime, Buffer *mBuf));
1660 EXTERN S16 cmUnpkDuration ARGS((Duration *duration, Buffer *mBuf));
1661 EXTERN S16 cmUnpkPtr ARGS((PTR *ptr, Buffer *mBuf));
1662 EXTERN S16 cmUnpkEntityId ARGS((EntityId *entityId, Buffer *mBuf));
1663 EXTERN S16 cmUnpkElmntId ARGS((ElmntId *elmntId, Buffer *mBuf));
1664 EXTERN S16 cmUnpkMemoryId ARGS((MemoryId *memoryId, Buffer *mBuf));
1666 /* general structures */
1667 EXTERN S16 cmUnpkSystemId ARGS((SystemId *systemId, Buffer *mBuf));
1668 EXTERN S16 cmUnpkAddrs ARGS((Addrs *addrs, Buffer *mBuf));
1669 EXTERN S16 cmUnpkProtAddr ARGS((ProtAddr *protAddr, Buffer *mBuf));
1670 EXTERN S16 cmUnpkProtAddrTbl ARGS((ProtAddrTbl *protAddr, Buffer *mBuf));
1671 EXTERN S16 cmUnpkShrtAddrs ARGS((ShrtAddrs *addrs, Buffer *mBuf));
1672 EXTERN S16 cmUnpkAddrMask ARGS((U8 *mask, Buffer *mBuf));
1673 EXTERN S16 cmUnpkBndCfg ARGS((BndCfg *bndCfg, Buffer *mBuf));
1674 EXTERN S16 cmUnpkPst ARGS((Pst *pst, Buffer *mBuf));
1675 EXTERN S16 cmUnpkElmtHdr ARGS((ElmtHdr *m, Buffer *mBuf));
1676 EXTERN S16 cmUnpkTknU8 ARGS((TknU8 *tknU8, Buffer *mBuf));
1677 EXTERN S16 cmUnpkTknS8 ARGS((TknS8 *tknS8, Buffer *mBuf));
1678 EXTERN S16 cmUnpkTknU16 ARGS((TknU16 *tknU16, Buffer *mBuf));
1679 EXTERN S16 cmUnpkTknU32 ARGS((TknU32 *tknU32, Buffer *mBuf));
1680 EXTERN S16 cmUnpkTknStr ARGS((TknStr *tknStr, Buffer *mBuf));
1681 EXTERN S16 cmUnpkTknStrM ARGS((TknStrM *tknStr, Buffer *mBuf));
1682 EXTERN S16 cmUnpkTknStrS ARGS((TknStrS *tknStr, Buffer *mBuf));
1683 EXTERN S16 cmUnpkTknStrE ARGS((TknStrE *tknStr, Buffer *mBuf));
1685 EXTERN S16 cmUnpkTknStr4 ARGS((TknStr4 *tknStr, Buffer *mBuf));
1686 EXTERN S16 cmUnpkTknStr12 ARGS((TknStr12 *tknStr, Buffer *mBuf));
1687 EXTERN S16 cmUnpkTknStr32 ARGS((TknStr32 *tknStr, Buffer *mBuf));
1688 EXTERN S16 cmUnpkTknStr64 ARGS((TknStr64 *tknStr, Buffer *mBuf));
1689 EXTERN S16 cmUnpkTknStr132 ARGS((TknStr132 *tknStr, Buffer *mBuf));
1690 EXTERN S16 cmUnpkTknStr256 ARGS((TknStr256 *tknStr, Buffer *mBuf));
1692 PUBLIC S16 cmUnpkTknS32 ARGS((TknS32 *tknS32, Buffer *mBuf));
1693 PUBLIC S16 cmUnpkTknOid ARGS((TknOid *tknOid, Buffer *mBuf));
1694 PUBLIC S16 cmUnpkTknBuf ARGS((TknBuf *tknBuf, Buffer **mBuf));
1696 #ifdef TDS_ROLL_UPGRADE_SUPPORT
1697 PUBLIC S16 cmUnpkIntf ARGS((CmIntf *intf, Buffer *mBuf));
1700 /* layer management structures */
1701 EXTERN S16 cmUnpkHeader ARGS((Header *header, Buffer *mBuf));
1702 EXTERN S16 cmUnpkSmCfg ARGS((SmCfg *smCfg, Buffer *mBuf));
1703 EXTERN S16 cmUnpkTmrCfg ARGS((TmrCfg *tmrCfg, Buffer *mBuf));
1704 EXTERN S16 cmUnpkCmStatus ARGS((CmStatus *status, Buffer *mBuf));
1705 EXTERN S16 cmUnpkCmAlarm ARGS((CmAlarm *alrm, Buffer *mBuf));
1707 #endif /* CMFILE_REORG_1 */
1708 #if defined(XEON_SPECIFIC_CHANGES) || defined(INTEL_WLS)
1709 void * mtGetWlsHdl();
1714 #endif /* __cplusplus */
1715 #endif /* __GENX__ */
1718 /********************************************************************30**
1721 **********************************************************************/