14572e50e20b6023c808b46a9ad4d6037b73d511
[o-du/l2.git] / src / cm / gen.h
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:     general layer
22   
23      Type:     C include file
24   
25      Desc:     Defines required by two or more layer service user
26                interfaces.
27    
28      File:     gen.h
29   
30 *********************************************************************21*/
31
32 #ifndef __GENH__
33 #define __GENH__
34
35 /* defines */
36
37 #define  RTLIN_DUMP_DEBUG printf
38 /* bndCfg.bufOwnshp for xxBndReq */
39
40 #define SUOWN         0     /* service user (upper layer) owns buffers */
41 #define SPOWN         1     /* service provider (lower layer) owns buffers */
42
43 /* bndCfg.flcTyp for xxBndReq */
44
45 #define FLCNOTALLOW   0     /* flow control not allowed */
46 #define FLCALLOW      1     /* flow control allowed */
47
48 /* bndCfg.wdw for xxBndReq */
49
50 #define WDWNOTALLOW   0     /* window not allowed */
51
52 /* state values (e.g., for an interface) */
53
54 #define STATE_DISCONNECTED   0x00     /* disconnected state */
55 #define STATE_CONNECTING     0x01     /* connecting state */
56 #define STATE_CONNECTED      0x02     /* connected state */
57 #define STATE_DISCONNECTING  0x03     /* disconnecting state */
58
59 /* Protocol Address Structure related defines ..*/
60 #define MAX_PROTADDR_LEN     16       /* Right now defined for IP, IPX 
61                                        * and IPV6 
62                                        */
63 #define MAX_PROT_ADDRS       4        /* Number of Protocols supported */
64
65 /* addrs structure for xxConReq, xxDiscReq, xxCfgReq */
66
67 #define ADRLEN        20    /* Address Length */
68 #define SHRTADRLEN    32    /* Short Addres Length */
69 #define LNGADRLEN     64    /* Long Address Length */
70
71 /* token or element header values */
72
73 #define NOTPRSNT       0    /* not present */
74 #define PRSNT_NODEF    1    /* present - no default */
75 #define PRSNT_DEF      2    /* present - default */
76
77 #define MF_SIZE_TKNSTRS  22 /* token string size - small */
78 #define MF_SIZE_TKNSTRM  32 /* token string size - medium */
79 #define MF_SIZE_TKNSTR  132 /* token string size - regular */
80 #define MF_SIZE_TKNSTRE 255 /* token string size - extra large */
81 #define MF_SIZE_TKNBITS 7   /* token bits size */
82 #define TP_SIZE_TKNSTR  8   /* token string size */
83
84 /* gen_h_001.main_133 --- size for extension container, MA_LIMIT_EXTCONT */
85 #define MA_MF_EXTCONT_SIZE 20
86 /* defines for type of service class */
87
88 #define FRMRLY         1     /* frame relay */
89 #define MACINT         2     /* mac interface */
90
91 /* defines for ISUP and B-ISUP  */
92
93
94 /* subsystem field */
95
96 #define SSF_INTER         0      /* international subsystem field */
97 #define SSF_NAT           2      /* national subsystem field */
98
99 #define PRI_ZERO          0      /* priority 0 - lowest */
100 #define PRI_ONE           1      /* priority 1 */
101 #define PRI_TWO           2      /* priority 2 */
102
103 /* direction of suspend */
104
105 #define FROM_LWR          1      /* direction from lower */
106 #define FROM_UPR          2      /* direction from upper */
107
108 #define MOD15             0x0f   /* modulo 15 mask */
109 #define NOTUSED           0      /* not used */
110
111 #define DIR_OUT           1
112 #define DIR_INC           2
113
114 #define PRESALLOW         0
115 #define PRESREST          1
116 #define MFROK             0
117 #define MFRFAILED         1
118 #define MFREOM            2
119
120 /* defines for ATM */
121
122 #ifndef CMFILE_REORG_1
123
124 /* special vcc's */
125
126 #define ATMVPI_SIG     0     /* Q.93B signalling */
127 #define ATMVCI_SIG     5     /* Q.93B signalling */
128
129 #define ATMVPI_ILMI    0     /* ILMI address registration */
130 #define ATMVCI_ILMI    16    /* ILMI address registration */
131
132 /* loss priority */
133
134 #define ATMLP_HIGH     0     /* high priority */
135 #define ATMLP_LOW      1     /* low priority */
136
137 /* congestion indication */
138
139 #define ATMCI_NOCONG   0     /* not congested */
140 #define ATMCI_CONG     1     /* congested */
141
142 /* reception status */
143
144 #define ATMRS_NOERROR  0     /* no error */
145 #define ATMRS_ERROR    1     /* error */
146
147 /* establishement */
148
149 #define AM_E_DEMAND       0x00  /* demand */
150
151 /* quality of service classes */
152
153 #define ATMQOS_CLASS0  0     /* QoS class 0 -unspecified QoS class*/
154 #define ATMQOS_CLASS1  1     /* QoS class 1 */
155 #define ATMQOS_CLASS2  2     /* QoS class 2 */
156 #define ATMQOS_CLASS3  3     /* QoS class 3 */
157 #define ATMQOS_CLASS4  4     /* QoS class 4 */
158
159 /* ATM traffic descriptor octet group identifiers */
160
161 #define AM_ATD_FPCR_ID0     0x82  /* forward  peak  cell rate id, CLP = 0   */
162 #define AM_ATD_BPCR_ID0     0x83  /* backward peak  cell rate id, CLP = 0   */
163 #define AM_ATD_FPCR_ID1     0x84  /* forward  peak  cell rate id, CLP = 0+1 */
164 #define AM_ATD_BPCR_ID1     0x85  /* backward peak  cell rate id, CLP = 0+1 */
165 #define AM_ATD_FSCR_ID0     0x88  /* forward  sust. cell rate id, CLP = 0   */
166 #define AM_ATD_BSCR_ID0     0x89  /* backward sust. cell rate id, CLP = 0   */
167 #define AM_ATD_FSCR_ID1     0x90  /* forward  sust. cell rate id, CLP = 0+1 */
168 #define AM_ATD_BSCR_ID1     0x91  /* backward sust. cell rate id, CLP = 0+1 */
169 #define AM_ATD_FMBS_ID0     0xa0  /* forward  mean burst size id, CLP = 0   */
170 #define AM_ATD_BMBS_ID0     0xa1  /* backward mean burst size id, CLP = 0   */
171 #define AM_ATD_FMBS_ID1     0xb0  /* forward  mean burst size id, CLP = 0+1 */
172 #define AM_ATD_BMBS_ID1     0xb1  /* backward mean burst size id, CLP = 0+1 */
173 #define AM_ATD_BSTEFFRTIND  0xbe  /* best effort indicator */
174 #define AM_ATD_TFCMGMTOPTID 0xbf  /* traffic management options id */
175
176 /* number of stop bits */
177
178 #define AM_NSB_UNUSED     0x00  /* none specified */
179 #define AM_NSB_1          0x01  /* 1 stop bit */
180 #define AM_NSB_15         0x02  /* 1.5 stop bits */
181 #define AM_NSB_2          0x03  /* 2 stop bits */
182
183 /* crankback blocked transit type */
184
185 #define AM_CBTT_BLKSUCCEND   0x02    /* call or party has been blocked at the
186                                       * succeeding end of this interface */
187 #define AM_CBTT_BLKNODE      0x03    /* blocked node */
188 #define AM_CBTT_BLKLINK      0x04    /* blocked link */
189 #define AM_CBTT_BLKBYDSUCC   0xff    /* call or party has been blocked at or
190                                       * beyond the succeeding node, AINI */
191
192 /* Specific Crankback level for AINI */
193 #define AM_AINI_CBLVL        0xff     /* Crankback level for AINI */
194
195 /* crankback cause indicator */
196
197 #define AM_CBCAUSE_IND       0x85    /* crankback cause indicator */
198
199 /* Cranckback and general cause values */
200
201 #define AM_CV_INVCAUSEVAL      0     /* invalid cause value - proprietary */
202 #define AM_CV_UNALLOCNMB       1     /* unallocated (unassigned) number */
203 #define AM_CV_NOROUTTRANSNET   2     /* no route to transit network */
204 #define AM_CV_NOROUTDST        3     /* no route to destination */
205 #define AM_CV_VCCUNACPT        10    /* UNI 3.0: VPCI/VCI unacceptable */
206 #define AM_CV_NORMCALLCLR      16    /* UNI 3.1: normal call clearing */
207 #define AM_CV_USRBUSY          17    /* user busy */
208 #define AM_CV_NOUSRRSP         18    /* no user response */
209 #define AM_CV_NOANSUSR         19    /* no answer from user */
210 #define AM_CV_CALLREJ          21    /* call rejected */
211 #define AM_CV_NMBCHNG          22    /* number changed */
212 #define AM_CV_CALLREJCLIR      23    /* user rejects all calls with CLIR */
213 #define AM_CV_DSTOUTORD        27    /* destination out of order */
214 #define AM_CV_INVNMBFORM       28    /* invalid number format */
215 #define AM_CV_RSPSTATENQ       30    /* response to STATUS ENQUIRY */
216 #define AM_CV_NORMUNSPEC       31    /* normal unspecified */
217 #define AM_CV_PNDADDPTYREQ     32    /* PNNI: too many pending add party requests */
218 #define AM_CV_CHNGINPGL        34    /* PNNI: Call cleared due to change in PGL */
219 #define AM_CV_REQVCCUNAVAIL    35    /* requested VPCI/VCI unavailable */
220 #define AM_CV_VCCFAIL          36    /* UNI 3.1: VPCI/VCI assignment failure */
221 #define AM_CV_RATEUNAVAIL1     37    /* UNI 3.1: user cell rate unavailable */
222 #define AM_CV_NETOUTORD        38    /* network out of order */
223 #define AM_CV_TMPFAIL          41    /* Temporary failure */
224 #define AM_CV_ACCINFODISC      43    /* access info discarded */
225 #define AM_CV_NOVCCAVAIL       45    /* no VPCI/VCI unavailable */
226 #define AM_CV_RESAIL           47    /* resources unavailable, unspecified */
227 #define AM_CV_QOSUNAVAIL       49    /* Quality of Service unavailable */
228 #define AM_CV_RATEUNAVAIL      51    /* UNI 3.0: user cell rate unavailable */
229 #define AM_CV_REQPVPCVCCUNAV   53    /* PNNI: Requested Called party soft PVPC/PVCC not available */
230 #define AM_CV_BCAPNOTAUTH      57    /* bearer capability not authorized */
231 #define AM_CV_BCAPUNAVAIL      58    /* bearer capability not available */
232 #define AM_CV_SRVUNAVAIL       63    /* Service or option unavailable */
233 #define AM_CV_BCAPNOTIMPL      65    /* bearer capability not implemented */
234 #define AM_CV_COMBUNSUPP       73    /* unsupported comb. of traffic parameters */
235 #define AM_CV_AALPARMUNSUPP1   78    /* UNI 3.1: AAL paramteres cannot be supported */
236 #define AM_CV_INVCALLREF       81    /* invalid call reference */
237 #define AM_CV_CHANNOTEXST      82    /* identified channel does not exist */
238 #define AM_CV_DSTNOTCOMP       88    /* incompatible destination */
239 #define AM_CV_INVENDPTREF      89    /* invalid endpoint reference */
240 #define AM_CV_INVTRANSNET      91    /* invalid transit network selection */
241 #define AM_CV_MANYADDPTYREQ    92    /* too many add party requests */
242 #define AM_CV_AALPARMUNSUPP    93    /* UNI 3.0:AAL paramteres cannot be supported */
243 #define AM_CV_INFOELMSSG       96    /* mandatory info element is missing */
244 #define AM_CV_MSGTYPNOTIMPL    97    /* message type not implemented */
245 #define AM_CV_INFOELNOTIMPL    99    /* info element not implemented */
246 #define AM_CV_INVINFOEL        100   /* invalid info element */
247 #define AM_CV_MSGNOTCOMP       101   /* msg type not compatible with call st */
248 #define AM_CV_TMRRCVRY         102   /* recovery on timer expiry */
249 #define AM_CV_INVMSGLEN        104   /* incorrect message length */
250 #define AM_CV_PROTERR          111   /* protocol error, unspecified */
251 #define AM_CV_OPTELMERR        127   /* opt info el content error (non-std) */
252 #define AM_CV_NOROUTNEXTNODE   128   /* next node unreachable */
253 #define AM_CV_DTLNOTMYNODE     160   /* DTL Transit not my node ID */
254
255 /* AAL type */
256
257 #define AM_AALTYP_0          0x00    /* AAL for voice */
258 #define AM_AALTYP_1          0x01    /* AAL type 1 */
259 #define AM_AALTYP_2          0x02    /* AAL type 2 */
260 #define AM_AALTYP_34         0x03    /* AAL type 3/4 */
261 #define AM_AALTYP_5          0x05    /* AAL type 5 */
262 #define AM_AALTYP_USR        0x10    /* user defined AAL */
263
264 /* AAL type 1 - identifiers */
265 #define AM_AAL1_ID_STYPE     0x85    /* AAL Subtype ID */
266 #define AM_AAL1_ID_CBR       0x86    /* CBR Rate ID */
267 #define AM_AAL1_ID_MULT      0x87    /* Multiplier Identifier */
268 #define AM_AAL1_ID_SCFRM     0x88    /* Source Clock Freq. Recovery Method Id */
269 #define AM_AAL1_ID_ECM       0x89    /* Error correction Method Id */
270 #define AM_AAL1_ID_SDTB      0x8A    /* Structured Data Transfer Blocksize Id */
271 #define AM_AAL1_ID_PFC       0x8B    /* Partially filled cells Id */
272
273 /* AAL type 1 subtypes */
274 #define AM_AAL1_STYPE_NULL   0x00    /* Null/Empty */
275 #define AM_AAL1_STYPE_VOICE  0x01    /* Voice-band based on 64 kbit/s */
276 #define AM_AAL1_STYPE_SCKT   0x02    /* Synchronous circuit Emulation */
277 #define AM_AAL1_STYPE_ACKT   0x03    /* Asynchronous circuit Emulation */
278 #define AM_AAL1_STYPE_HQAUD  0x04    /* High Quality Audio */
279 #define AM_AAL1_STYPE_VIDEO  0x05    /* Video */
280
281 /* AAL type 1 CBR rates */
282 #define AM_AAL1_CBR_64       0x01    /* 64 kbit/s */
283 #define AM_AAL1_CBR_1544     0x04    /* 1544 kbit/s (DS1) */
284 #define AM_AAL1_CBR_6312     0x05    /* 6312 kbit/s (DS2) */
285 #define AM_AAL1_CBR_32064    0x06    /* 32064 kbit/s */
286 #define AM_AAL1_CBR_44736    0x07    /* 44736 kbit/s (DS3) */
287 #define AM_AAL1_CBR_97728    0x08    /* 97728 kbit/s */
288 #define AM_AAL1_CBR_2048     0x10    /* 2048 kbit/s (E1) */
289 #define AM_AAL1_CBR_8448     0x11    /* 8448 kbit/s (E2) */
290 #define AM_AAL1_CBR_34368    0x12    /* 34368 kbit/s (E3) */
291 #define AM_AAL1_CBR_139264   0x13    /* 139264 kbit/s */
292 #define AM_AAL1_CBR_nx64     0x40    /* n x 64 kbit/s */
293 #define AM_AAL1_CBR_nx8      0x41    /* n x 8  kbit/s */
294
295 /* AAL type 1 Clock recovery types */
296 #define AM_AAL1_SCFRM_NULL   0x00    /* Null */
297 #define AM_AAL1_SCFRM_SRTS   0x01    /* Synchronous Residual Time Stamp */
298 #define AM_AAL1_SCFRM_ACR    0x02    /* Adaptive clock Recovery  */
299
300 /* AAL type 1 Error Correction types */
301 #define AM_AAL1_ECM_NULL     0x00    /* NULL */
302 #define AM_AAL1_ECM_FEC      0x01    /* Interleaved FEC */
303 #define AM_AAL1_ECM_DSST     0x02    /* For delay sensitive signal transport */
304
305 /* AAL type 1 Structured Data Transfer */
306 #define AM_AAL1_SDTB_NULL    0x00    /* NULL */
307 #define AM_AAL1_SDTB_SDT     0x01    /* Structured Data Transfer */
308
309 /* AAL type 5 & 3/4 - identifiers */
310 #define AM_AAL5_ID_FMSDU     0x8c    /* forward  maximum CPCS SDU size id */
311 #define AM_AAL5_ID_BMSDU     0x81    /* backward maximum CPCS SDU size id */
312 #define AM_AAL5_ID_MIDRNG    0x82    /* Mid Range Id */
313 #define AM_AAL5_ID_MODE      0x83    /* mode identifier */
314 #define AM_AAL5_ID_SSCS      0x84    /* SSCS type identifier */
315
316 /* AAL type 5 & 3/4 - mode of operation */
317
318 #define AM_AAL5_MODE_MSG     0x01    /* message mode */
319 #define AM_AAL5_MODE_STREAM  0x02    /* streaming mode */
320
321 /* AAL type 5 - SSCS type */
322
323 #define AM_AAL5_SSCS_NULL    0x00    /* null SSCS */
324 #define AM_AAL5_SSCS_SSCOP_A 0x01    /* SSCOP assured mode SSCS */
325 #define AM_AAL5_SSCS_SSCOP_N 0x02    /* SSCOP non-assured mode SSCS */
326 #define AM_AAL5_SSCS_FR      0x04    /* frame relay SSCS */
327
328 /* bearer class */
329
330 #define AM_BCOB_A            0x01    /* bearer class A */
331 #define AM_BCOB_C            0x03    /* bearer class C */
332 #define AM_BCOB_X            0x10    /* bearer class X */
333
334 /* timing requirement */
335
336 #define AM_TMGREQ_NOIND      0       /* no indication */
337 #define AM_TMGREQ_ETOEREQ    1       /* end-to-end timing required */
338 #define AM_TMGREQ_ETOENOTREQ 2       /* end-to-end timing not required */
339
340 /* traffic type */
341
342 #define AM_TFCTYP_NOIND      0       /* no indication */
343 #define AM_TFCTYP_CBR        1       /* constant bit rate */
344 #define AM_TFCTYP_VBR        2       /* variable bit rate */
345
346 /* user plane connection configuration */
347
348 #define AM_CONCFG_PTPT       0       /* point to point */
349 #define AM_CONCFG_PTMPT      1       /* point to multipoint */
350
351 /* susceptability to clipping */
352
353 #define AM_SUSCLP_NO         0       /* not susceptible to clipping */
354 #define AM_SUSCLP_YES        1       /* susceptible to clipping */
355
356 /* layer 1 identity */
357
358 #define AM_L1_IDENT       0x01  /* layer 1 identity */
359
360 /* layer 2 identity */
361
362 #define AM_L2_IDENT       0x02  /* layer 2 identity */
363
364 /* layer 3 identity */
365
366 #define AM_L3_IDENT       0x03  /* layer 3 identity */
367
368 /* user information layer 1 */
369
370 #define AM_UIL1_CCITTV110 0x01  /* CCITT Standardized Rate Adaptation V.110/X.30. */
371 #define AM_UIL1_G711ULAW  0x02  /* Reccomendation G.711 u-Law */
372 #define AM_UIL1_G711ALAW  0x03  /* Recommendation G.711 A-Law */
373 #define AM_UIL1_G721ADCPM 0x04  /* Recommendation G.721 32 kbit/s ADCPM and */
374                              /* Recommendation I.460 */
375 #define AM_UIL1_G722G725  0x05  /* Recommendation G.722 and G.725 - 7kHz Audio */
376 #define AM_UIL1_H261      0x06  /* Recommendation H.261 - 384 kbit/s Video */
377 #define AM_UIL1_NONCCITT  0x07  /* Non-CCITT  standardized Rate adaptation */
378 #define AM_UIL1_CCITTV120 0x08  /* CCITT Standardized Rate Adaptation V.120 */
379 #define AM_UIL1_CCITTX31  0x09  /* CCITT Standardized Rate Adaptation X.31 HDLC */
380
381 /* user information layer 2 protocol */
382
383 #define AM_UIL2_BASIC     0x01  /* basic mode - ISO 1745 */
384 #define AM_UIL2_Q921      0x02  /* CCITT Recommendation Q.921 */
385 #define AM_UIL2_X25SLP    0x06  /* CCITT Recommendation X.25, single link */
386 #define AM_UIL2_X25MLP    0x07  /* CCITT Recommendation X.25, multi link */
387 #define AM_UIL2_T71       0x08  /* extended LAPB for half duplex, */
388                              /* CCITT Recommendation T.71 */
389 #define AM_UIL2_HDLCARM   0x09  /* HDLC ARM - ISO 4335 */
390 #define AM_UIL2_HDLCNRM   0x0a  /* HDLC NRM - ISO 4335 */
391 #define AM_UIL2_HDLCABM   0x0b  /* HDLC ABM - ISO 4335 */
392 #define AM_UIL2_LANLLC    0x0c  /* LAN LLC - ISO 8802/2 */
393 #define AM_UIL2_X75SLP    0x0d  /* CCITT Recommendation X.75, single link */
394 #define AM_UIL2_Q922      0x0e  /* CCITT Recommendation Q.922 */
395 #define AM_UIL2_USRSPEC   0x10  /* CCITT User specified */
396 #define AM_UIL2_T90       0x11  /* CCITT T.90 */
397
398 /* Layer 2/3 Operation Mode */
399 #define AM_LOLYR_OPR_NORM 0x01  /* Normal mode of operation */
400 #define AM_LOLYR_OPR_EXT  0x02  /* Extended mode of operation */
401
402 /* user information layer 3 protocol */
403
404 #define AM_UIL3_Q931      0x02  /* CCITT Recommendation Q.931 */
405 #define AM_UIL3_T90       0x05  /* CCITT T.90 */
406 #define AM_UIL3_X25PLP    0x06  /* CCITT Recommendation X.25, packet layer */
407 #define AM_UIL3_ISO8208   0x07  /* ISO 8208 */
408 #define AM_UIL3_ISO8348   0x08  /* ISO 8348 */
409 #define AM_UIL3_ISO8473   0x09  /* ISO 8473 */
410 #define AM_UIL3_T70       0x0a  /* CCITT Recommendation T.70 */
411 #define AM_UIL3_ISO9577   0x0b  /* ISO/IEC TR 9577 */
412 #define AM_UIL3_USRSPEC   0x10  /* CCITT User specified */
413
414 /* presentation method of protocol profile */
415
416 #define AM_PM_VAL1        0x01  /* value 1 */
417
418 /* information transfer mode */
419
420 #define AM_TM_CIRCUIT     0x00  /* circuit mode */
421 #define AM_TM_PACKET      0x02  /* packet mode */
422
423 /* information transfer capability */
424
425 #define AM_ITC_SPEECH     0x00  /* speech */
426 #define AM_ITC_UNRDIG     0x08  /* unrestricted digital information */
427 #define AM_ITC_RESDIG     0x09  /* restricted digital information */
428 #define AM_ITC_A31KHZ     0x10  /* 3.1kHz audio */
429 #define AM_ITC_A7KHZ      0x11  /* 7 kHz audio */
430 #define AM_ITC_A15KHZ     0x12  /* 15 kHz audio */
431 #define AM_ITC_VIDEO      0x18  /* video */
432
433 /* information transfer rate */
434
435 #define AM_ITR_PKT        0x00  /* packet mode */
436 #define AM_ITR_64KBIT     0x10  /* circuit mode - 64 kbits */
437 #define AM_ITR_2X64KBIT   0x11  /* circuit mode - 2 X 64 kbits */
438 #define AM_ITR_384KBIT    0x13  /* circuit mode - 384 kbits */
439 #define AM_ITR_1472KBIT   0x14  /* circuit mode - 1472 kbits */
440 #define AM_ITR_1536KBIT   0x15  /* circuit mode - 1536 kbits */
441 #define AM_ITR_1920KBIT   0x17  /* circuit mode - 1920 kbits */
442 #define AM_ITR_MULIRATE   0x18  /* circuit mode - multi rate */
443
444 /* symmetry */
445
446 #define AM_S_BISYM        0x00  /* bidirectional symmetry */
447
448 /* structure */
449
450 #define AM_S_DEF          0x00  /* default */
451 #define AM_S_8KHZINTEG    0x01  /* 8 khz integrity */
452 #define AM_S_SDUINTEG     0x04  /* service data unit integrity */
453 #define AM_S_UNSTRUCT     0x07  /* unstructured */
454
455 /* intermediate rate */
456
457 #define AM_IR_NONE        0x00  /* none specified */
458 #define AM_IR_8KBIT       0x01  /* 8 kbits */
459 #define AM_IR_16KBIT      0x02  /* 16 kbits */
460 #define AM_IR_32KBIT      0x03  /* 32 kbits */
461
462 /* negotiation */
463
464 #define AM_N_IBNOTPOSS    0x00  /* inband not possible */
465 #define AM_N_IBPOSS       0x01  /* inband possible */
466
467  /* negotiation indicator */
468
469 #define AM_N_OBNOTPOSS    0x00  /* outband not possible */
470 #define AM_N_OBPOSS       0x01  /* outband possible */
471
472 /* synchronous/asynchronous */
473
474 #define AM_SA_SYNC        0x00  /* synchronous */
475 #define AM_SA_ASYNC       0x01  /* asynchronous */
476
477 /* assignor/assignee */
478
479 #define AM_AA_ORGASGNEE   0x00  /* originator is assignee */
480 #define AM_AA_ORGASGNOR   0x01  /* originator is assignor */
481
482 /* duplex mode */
483
484 #define AM_DUPMODE_HALF   0x00  /* half duplex */
485 #define AM_DUPMODE_FULL   0x01  /* full duplex */
486
487 /* mode of operation */
488
489 #define AM_MOO_BITTRANS   0x00  /* bit transparent */
490 #define AM_MOO_PROTSEN    0x01  /* protocol sensitive */
491
492 /* multiple frame establishment */
493
494 #define AM_MFE_NOTSUP     0x00  /* not supported */
495 #define AM_MFE_SUP        0x01  /* supported */
496
497 /* logical link identifier */
498
499 #define AM_LLI_DEF        0x00  /* default */
500 #define AM_LLI_FULLNEG    0x01  /* full protocol negotiation */
501
502 /* inband/outband negotiation */
503
504 #define AM_ION_USRINFO    0x00  /* negotiation with user info messages */
505 #define AM_ION_LL0        0x01  /* negotiation in band using logical link 0 */
506
507 /* narrow band coding standards */
508
509 #define AM_CSTD_CCITT     0x00  /* CCITT standards */
510 #define AM_CSTD_INT       0x01  /* Other International Standards */
511 #define AM_CSTD_NAT       0x02  /* National Standard */
512 #define AM_CSTD_NET       0x03  /* Network Standard */
513
514 /* coding standard */
515
516 #define AM_CODESTD_CCITT     0       /* ITU-TS (CCITT) standardized */
517 #define AM_CODESTD_NET       3       /* ATM Forum specific */
518
519 /* location */
520
521 #define AM_LOCN_USER         0x00    /* user */
522 #define AM_LOCN_PRVNETLOC    0x01    /* private network serving local user */
523 #define AM_LOCN_PUBNETLOC    0x02    /* public network serving local user */
524 #define AM_LOCN_TRNSNET      0x03    /* transit network */
525 #define AM_LOCN_PUBNETRMT    0x04    /* public network serving remote user */
526 #define AM_LOCN_PRVNETRMT    0x05    /* private network serving remote user */
527 #define AM_LOCN_INTNET       0x07    /* international network */
528 #define AM_LOCN_NETINTWRK    0x0a    /* network beyond interworking point */
529
530 /* extended high layer characteristics */
531
532 #define AM_XHLCI_TEL      0x01  /* Telephony - Recommendation G.711 */
533 #define AM_XHLCI_FAXG4    0x04  /* Facsimile Group 4 - Recommendation T.62 */
534 #define AM_XHLCI_DAPFAXG4 0x21  /* Doc App Profile for Facsimile Group 4 */
535                              /* Recommendation T.503 */
536 #define AM_XHLCI_DAPMIXED 0x24  /* Doc App Profile for Facsimile Group 4 */
537                              /* Recommendation T.501 */
538 #define AM_XHLCI_DAPPROC  0x28  /* Doc App Profile for Facsimile Group 4 */
539                              /* Recommendation T.502 */
540 #define AM_XHLCI_TELETEX  0x31  /* Teletex - Recommendation T.62/T.70 */
541 #define AM_XHLCI_DAPVIDEO 0x32  /* Doc App Profile for Facsimile Group 4 */
542                              /* Recommendation T.503 */
543 #define AM_XHLCI_TELEX    0x35  /* Telex */
544 #define AM_XHLCI_MHS      0x38  /* Message Handling System */
545                              /* Recommendation X.400 */
546 #define AM_XHLCI_OSIAPP   0x41  /* OSI Application - Recommendation X.200 */
547 #define AM_XHLCI_MAINT    0x5e  /* Maintenance */
548 #define AM_XHLCI_MNGMT    0x5f  /* Management */
549 #define AM_XHLCI_VIDTEL   0x60  /* Videotelephony (F.xyz and AV.242) */
550 #define AM_XHLCI_RESERVE  0xff  /* Reserved */
551
552
553 /* ATM Traffic Descriptor tagging */
554
555 #define AM_ATD_TAGNOTREQ    0       /* tagging not requested */
556 #define AM_ATD_TAGREQ       1       /* tagging requested */
557
558 /* ATM Traffic Descriptor Frame discard */
559
560 #define AM_ATD_NOFRMDISC    0       /* frame discard not allowed */
561 #define AM_ATD_FRMDISC      1       /* frame discard allowed */
562
563 /* ATM Traffic Descriptor ABR specific token identifier */
564
565 #define AM_ATD_ABR_FMCR_ID  0x92    /* Forward ABR minimum cell rate identifier */
566 #define AM_ATD_ABR_BMCR_ID  0x93    /* Forward ABR minimum cell rate identifier */
567
568 /* crankback level indicator */
569
570 #define AM_CBLEVEL_IND       0x81    /* crankback level indicator */
571
572 /* succeeding end block indicator */
573
574 #define AM_ENDBLK_IND        0x82    /* succeeding end block indicator */
575
576 /* blocked node indicator */
577
578 #define AM_BLKNODE_IND       0x83    /* blocked node indicator */
579
580 /* blocked link indicator */
581
582 #define AM_BLKLINK_IND       0x84    /* blocked link indicator */
583
584 /* connection level id */
585
586 #define AM_CONLEVEL_ID       0x81    /* connection level id */
587
588 /* connection level */
589
590 #define AM_CONLEVEL_VCC      0x01    /* virtual channel connection */
591 #define AM_CONLEVEL_VPC      0x02    /* virtual path connection */
592
593 /* VPI/VCI selection type */
594
595 #define AM_VPCSEL_ANY        0x00    /* any VPI/VCI */
596 #define AM_VPCSEL_REQ        0x02    /* required VPI/VCI */
597 #define AM_VPCSEL_ASSGN      0x04    /* assigned VPI/VCI */
598
599 /* VPI id */
600
601 #define AM_VPI_ID            0x81    /* VPI id */
602
603 /* VCI id */
604
605 #define AM_VCI_ID            0x82    /* VCI id */
606
607 /* shaping indicator */
608
609 #define AM_SHAPIND_NOREQ     0x00    /* no user requirement */
610 #define AM_SHAPIND_NOAGG     0x01    /* no aggregation of user and OAM cells */
611
612 /* payload types */
613
614 #define ATMPT_USR   0     /* user cells */
615 #define ATMPT_RM    1     /* RM cells */
616 #define ATMPT_OAM   2     /* OAM cells */
617
618 /* values for lnkNmb parameter */
619
620 #define AMT_CON_LNK_UNUSED  0xffff  /* link number field not significant */
621
622 \f
623 /* defines for LAN emulation */
624
625 /* MAC address length */
626
627 #define MACADDRLEN                    6  /* 48 bit MAC address length */
628
629 /* LANE and MAC header length */
630
631 #define LANE_HDR_LEN             2  /* 2 octet LANE header length */
632 #define LANE_MACHDR_LEN         14  /* 802.3 (DA/SA/Len), 802.5 (AC/FC/DA/SA) */
633
634 /* Additional broadband repeat indicators */
635
636 #define AM_REPIND_Q2763_1       0x00  /* reserved for use by Rec. Q.2763 */
637 #define AM_REPIND_Q2763_2i      0x01  /* reserved for use by Rec. Q.2763 */
638
639 /* values for AC/FC fields - to be ignored */
640
641 #define LANE_HDR_8025_AC           0x00  /* no significance */
642 #define LANE_HDR_8025_FC           0x40  /* LLC frame, priority 0 */
643
644 /* value for pad octets */
645
646 #define LANE_PAD                   0x00  /* pad octets */
647
648 /* source routed frame types */
649
650 #define LANE_FRAMETYPE_NSR         0x00  /* not source routed */
651 #define LANE_FRAMETYPE_SRF         0x01  /* specifically routed frame */
652 #define LANE_FRAMETYPE_ARE         0x02  /* all routes explorer frame */
653 #define LANE_FRAMETYPE_STE         0x03  /* spanning tree explorer frame */
654 #define LANE_FRAMETYPE_ERR         0x04  /* illegal frame type */
655
656 /* next hop types for SRF frames */
657
658 #define LANE_NEXTHOP_NONE          0x00  /* no hop */
659 #define LANE_NEXTHOP_LAST          0x01  /* last hop */
660 #define LANE_NEXTHOP_MORE          0x02  /* more hops */
661
662 /* maximum sizes for typedef arrays */
663
664 #define MAX_LANNAME                  32  /* size of LAN name string */
665 #define MAX_MACADDRTBL               16  /* size of MAC address table */
666 #define MAX_RDTBL                    16  /* size of route descriptor table */
667 #define MAX_TLV_LEN                   4  /* max length of value in TLV entry */
668 #define MAX_TLV_TBL                  16  /* size of TLV table */
669
670 /* marker (special LEC id) */
671
672 #define LANE_MARKER_CTRL         0xff00  /* control frame marker */
673  
674 /* LAN emulation protocol */
675
676 #define LANE_PROTOCOL              0x01  /* LAN Emulation protocol */
677  
678 /* LAN emulation protocol version */
679
680 #define LANE_VERSION               0x01  /* LAN Emulation protocol version */
681
682 /* op code type */
683
684 #define LANE_OPCODE_TYPE_REQ       0x00  /* request frame */
685 #define LANE_OPCODE_TYPE_RSP       0x01  /* response frame */
686
687 /* op code name */
688
689 #define LANE_OPCODE_CFGREQ       0x0001  /* configuration request  frame */
690 #define LANE_OPCODE_CFGRSP       0x0101  /* configuration response frame */
691 #define LANE_OPCODE_JOINREQ      0x0002  /* join request  frame */
692 #define LANE_OPCODE_JOINRSP      0x0102  /* join response frame */
693 #define LANE_OPCODE_READYQUERY   0x0003  /* ready query  frame */
694 #define LANE_OPCODE_READYIND     0x0103  /* ready indication frame */
695 #define LANE_OPCODE_REGREQ       0x0004  /* register request  frame */
696 #define LANE_OPCODE_REGRSP       0x0104  /* register response frame */
697 #define LANE_OPCODE_UNREGREQ     0x0005  /* unregister request  frame */
698 #define LANE_OPCODE_UNREGRSP     0x0105  /* unregister response frame */
699 #define LANE_OPCODE_ARPREQ       0x0006  /* configuration request  frame */
700 #define LANE_OPCODE_ARPRSP       0x0106  /* configuration response frame */
701 #define LANE_OPCODE_FLUSHREQ     0x0007  /* flush request  frame */
702 #define LANE_OPCODE_FLUSHRSP     0x0107  /* flush response frame */
703 #define LANE_OPCODE_NARPREQ      0x0008  /* negative ARP request frame */
704 #define LANE_OPCODE_TOPCHREQ     0x0009  /* topology change request  frame */
705
706 /* status */
707
708 #define LANE_STA_SUCCESS              0  /* success */
709 #define LANE_STA_UNSUPPVER            1  /* version not supported */
710 #define LANE_STA_INVPARAM             2  /* invalid request parameters */
711 #define LANE_STA_DUPLANDST            4  /* duplicate LAN destination */
712 #define LANE_STA_DUPATMADDR           5  /* duplicate ATM address */
713 #define LANE_STA_RESAIL           6  /* insufficient resources to grant request */
714 #define LANE_STA_NOACCESS             7  /* access denied */
715 #define LANE_STA_INVLECID             8  /* invalid requestor-LECID */
716 #define LANE_STA_INVLANDST            9  /* invalid LAN destination */
717 #define LANE_STA_INVATMADDR          10  /* invalid ATM address */
718 #define LANE_STA_NOCFG               20  /* no configuration */
719 #define LANE_STA_LECSERR             21  /* LECS error */
720 #define LANE_STA_INFOUNAVAIL         22  /* insufficient information */
721
722 /* non-standard status values, for internal use */
723
724 #define LANE_STA_INVCTRL         0x0f00  /* invalid control frame - unspecified */
725
726 /* flag values */
727
728 #define LANE_FLAG_RMTADDR        0x0001  /* remote address (unreg LAN dst) */
729 #define LANE_FLAG_PROXY          0x0080  /* LEC acts as proxy */
730 #define LANE_FLAG_TOPCH          0x0100  /* topology change */
731
732 /* tag values for LAN destination type */
733
734 #define LANE_TAG_NOTPRSNT        0x0000  /* not present */
735 #define LANE_TAG_MACADDR         0x0001  /* MAC address */
736 #define LANE_TAG_RD              0x0002  /* route designator */
737
738 /* LAN type */
739
740 #define LANE_LANTYPE_UNSPECIFIED   0x00  /* unspecified */
741 #define LANE_LANTYPE_8023          0x01  /* IEEE 802.3/Ethernet */
742 #define LANE_LANTYPE_8025          0x02  /* IEEE 802.5/Token Ring */
743
744 /* min frame size - values */
745
746 #define LANE_MIN_DATA_8023           62  /* minimum AAL SDU size for IEEE 802.3 data */
747 #define LANE_MIN_DATA_8025           16  /* minimum AAL SDU size for IEEE 802.5 data */
748 #define LANE_MIN_CTRL               108  /* minimum AAL SDU size for control frame */
749
750 /* max frame size - index */
751
752 #define LANE_MTU_IDX_UNSPECIFIED   0x00  /* unspecified */
753 #define LANE_MTU_IDX_ENET          0x01  /* 1516 octets IEEE 802.3 */
754 #define LANE_MTU_IDX_TR_4          0x02  /* 4544 octets IEEE 802.5 4Mbps */
755 #define LANE_MTU_IDX_RFC1626       0x03  /* 9234 octets RFC  1626 */
756 #define LANE_MTU_IDX_TR_16         0x04  /* 18190 octets IEEE 802.5 16Mbps */
757
758 /* max frame size - values */
759
760 #define LANE_MTU_VAL_UNSPECIFIED      0  /* unspecified */
761 #define LANE_MTU_VAL_ENET          1516  /* 1516 octets IEEE 802.3 */
762 #define LANE_MTU_VAL_TR_4          4544  /* 4544 octets IEEE 802.5 4Mbps */
763 #define LANE_MTU_VAL_RFC1626       9234  /* 9234 octets RFC  1626 */
764 #define LANE_MTU_VAL_TR_16        18190  /* 18190 octets IEEE 802.5 16Mbps */
765
766 /* VCC nature */
767
768 #define VCC_NATURE_PVC                0  /* permanent virtual circuit */
769 #define VCC_NATURE_SVC                1  /* switched virtual circuit */
770 #define  VCC_NATURE_PVC_SVC           2  /* mixed PVC/SVC */
771
772 /* VCC type (values from LEC MIB) */
773
774 #define LANE_VCC_TYPE_CTRL_DIR        0  /* control direct VCC */
775 #define LANE_VCC_TYPE_CTRL_DIST       1  /* control distribute VCC */
776 #define LANE_VCC_TYPE_MCAST_SND_8023  2  /* multicast send VCC for 802.3 */
777 #define LANE_VCC_TYPE_MCAST_FWD_8023  3  /* multicast forward VCC for 802.3 */
778 #define LANE_VCC_TYPE_MCAST_SND_8025  4  /* multicast send VCC for 802.5 */
779 #define LANE_VCC_TYPE_MCAST_FWD_8025  5  /* multicast forward VCC for 802.5 */
780 #define LANE_VCC_TYPE_DATA_DIR_8023   6  /* data direct VCC for 802.3 */
781 #define LANE_VCC_TYPE_DATA_DIR_8025   7  /* data direct VCC for 802.5 */
782 #define LANE_VCC_TYPE_UNKNOWN         8  /* unclassified VCC */
783 #define LANE_VCC_TYPE_CFG_DIR         9  /* cfg direct VCC */
784
785 /* LAN destination proxy class */
786
787 #define LANE_CLASS_LOCAL              0  /* local LAN destination */
788 #define LANE_CLASS_PROXY              1  /* proxy LAN destination */
789
790 /* LAN destination mode (type) */
791
792 #define LANE_LDMODE_UCAST_MACADDR     0  /* unicast MAC address */
793 #define LANE_LDMODE_MCAST_MACADDR     1  /* multicast MAC address */
794 #define LANE_LDMODE_MCAST_ALLGRP      2  /* all group addresses */
795 #define LANE_LDMODE_MACADDR           3  /* MAC address */
796 #define LANE_LDMODE_RD                4  /* route descriptor */
797 #define LANE_LDMODE_UCAST_ALLUNI      5  /* all unicast addresses */
798
799 /* configuration mode */
800
801 #define LANE_CFGMODE_AUTO             0  /* auto cfg (use LECS ATM addr) */
802 #define LANE_CFGMODE_MANUAL           1  /* manual cfg (use LES ATM addr) */
803
804 /* ATM Forum OUI - 3 octets */
805
806 #define OUI_ATMF               0x00a03e  /* ATM Forum OUI */
807
808 /* LAN Emulation Protocol Ids - 2 octets */
809
810 #define LANE_PID_CTRL            0x0001  /* control VCCs */
811 #define LANE_PID_DATA_DIR_8023   0x0002  /* data direct VCCs for IEEE 802.3 */
812 #define LANE_PID_DATA_DIR_8025   0x0003  /* data direct VCCs for IEEE 802.5 */
813 #define LANE_PID_MCAST_8023      0x0004  /* multicast   VCCs for IEEE 802.3 */
814 #define LANE_PID_MCAST_8025      0x0005  /* multicast   VCCs for IEEE 802.5 */
815
816 /* LAN Emulation standard TLV types - 4 octets */
817
818 #define LANE_TLV_C7              0x00a03e01  /* control timer */
819 #define LANE_TLV_C10             0x00a03e02  /* max unknown frame count */
820 #define LANE_TLV_C11             0x00a03e03  /* max unknown frame timer */
821 #define LANE_TLV_C12             0x00a03e04  /* VCC aging timer */
822 #define LANE_TLV_C13             0x00a03e05  /* max retry count */
823 #define LANE_TLV_C17             0x00a03e06  /* ARP long (cache) timer */
824 #define LANE_TLV_C18             0x00a03e07  /* ARP short (fwd delay) timer */
825 #define LANE_TLV_C20             0x00a03e08  /* ARP Request timer */
826 #define LANE_TLV_C21             0x00a03e09  /* Flush Request timer */
827 #define LANE_TLV_C22             0x00a03e0a  /* path switching delay */
828 #define LANE_TLV_C23             0x00a03e0b  /* local segment id */
829 #define LANE_TLV_C24             0x00a03e0c  /* mcast snd VCC type */
830 #define LANE_TLV_C25             0x00a03e0d  /* mcast snd VCC SCR */
831 #define LANE_TLV_C26             0x00a03e0e  /* mcast snd VCC PCR */
832 #define LANE_TLV_C28             0x00a03e0f  /* Ready Ind timer */
833
834 #endif /* CMFILE_REORG_1 */
835
836
837 \f
838
839 /* structure */
840
841 #define S_DEF          0x00  /* default */
842 #define S_8KHZINTEG    0x01  /* 8 khz integrity */
843 #define S_SDUINTEG     0x04  /* service data unit integrity */
844 #define S_UNSTRUCT     0x07  /* unstructured */
845
846 /* define for TCAP string size */
847 /* gen_h_001.main_128 - redefined value of MAX_ST_STRING to 256 */
848 #define MAX_ST_STRING 256    /* longest string */
849
850 \f    
851 /* defines for SPstTsk */
852
853 #define SEL_LC_NEW     0     /* loosely coupled interface - new */
854 #define SEL_LC_OLD     1     /* loosely coupled interface - old */
855
856 /* defines for system service entity processor, region and pool id's */
857
858 #define OWNPROCID      0     /* own processor id */
859 #define SP_POOL     0x00     /* service provider pool id */
860 #define SU_POOL     0x00     /* service user pool id */
861
862 /* defines for stack manager region and pool id's */
863
864 #define SMREGION       1     /* stack manager region id */
865 #define SMPOOL         0     /* stack manager pool id */
866
867 /* defines */
868   
869 /* Mngmt.hdr.msgType */
870   
871 #define TCFG             1           /* configuration */
872 #define TCNTRL           2           /* control */
873 #define TSTS             3           /* statistics */
874 #define TSSTA            4           /* solicited status */
875 #define TUSTA            5           /* unsolicited status */
876 #define TTRC             6           /* trace */
877 #define TACNT            7           /* billing */
878 #define TUDAT            8           /* unit data */
879 #define TWRMSTRT         9           /* warm start */
880 #define TSWP             10          /* swapping */
881 #define TSNAP            11          /* register snapshot */
882 #define TUCFG            12          /* unconfig */
883 #define TSNMP            13          /* snmp req */
884 #define TOBJ             14          /* obj req */
885 #define TMIB             15          /* mib req */
886 /* gen_h_001.main_124 RRC 2.0 Release*/
887 #define TAUDT            16          /* Audit req */
888  
889 /* Mngmt.hdr.elmId.elmnt */
890   
891 #define STGEN            1           /* general */
892 #define STTSAP           2           /* transport SAP */
893 #define STNSAP           3           /* network SAP */
894 #define STLLSAP          4           /* logical link SAP */
895 #define STDLSAP          5           /* data link SAP */
896 #define STMSAP           6           /* MAC SAP */
897 #define STPSAP           7           /* physical SAP */
898 #define STSID            8           /* system id */
899 #define STHG             9           /* hunt Group */
900 #define STROUT          10           /* route */
901 #define STDLC           11           /* data link connection */
902 #define STINTCUG        12           /* international cugs */
903 #define STBCHNPROF      13           /* B channel profile */
904 #define STPVC           14           /* PVC configuration */
905 #define STMCGRP         15           /* multicast group */
906 #define STFRROUT        16           /* frame relay route */
907 #define STDCHAN         17           /* X.31 D channel */
908 #define STADRMAP        18           /* address mapping */
909 #define STDELADRMAP     19           /* delete X.31 address mapping */
910
911 #define STLOOP          20           /* loop */
912 #define STREG           21           /* region */
913 #define STDPOOL         22           /* dynamic pool */
914 #define STSPOOL         23           /* static pool */
915 #define STDQ            24           /* demand queue */
916 #define STENT           25           /* entity */
917 #define STTSK           26           /* task */
918
919 #define STDELROUT       30           /* delete route */
920 #define STDELPVC        31           /* delete PVC */
921 #define STIFDSTADR      32           /* interface destination address */
922     
923 #define STLNKSET        33           /* link set */
924 #define STISAP          34           /* isup SAP */
925 #define STICIR          35           /* isup circuit */
926 #define STSPSAP         36           /* tcap lower sccp sap */
927 #define STTCUSAP        37           /* tcap upper user sap */
928 #define STTPSAP         38           /* tup SAP */
929 #define STTPCIR         39           /* tup circuit */
930 #define STVCC           40           /* virtual channel connection */
931 #define STCGPTYNMB      41           /* calling party number */
932 #define STWPSAP         42           /* wrapper SAP */
933 #define STAALSAP        43           /* AAL SAP */
934 #define STLANDST        44           /* LAN destination */
935 #define STLES           45           /* LAN Emulation Server */
936 #define STBUS           46           /* LAN Emulation Broadcast Server */
937
938 /* used by mtp level 3 */
939
940 #define STDLSAPACT      47           /* data link SAP - initial state = ACTIVE */
941 #define STDLSAPDIS      STDLSAP      /* data link SAP - initial state = DISABLED */
942 #define STTFCMTRC       49           /* traffic metrics */
943 #define STPNNBR         50           /* PNNI Neighbor */
944 #define STPNPTSE        51           /* PNNI PTSE */
945 #define STLECS          52           /* LECS */
946 #define STLECSLES       53           /* LECS LES */
947 #define STLECSROUT      54           /* LECS ROUT */
948 #define STERR           55           /* Software Error */
949
950 #define STMAP           56           /* map */
951 #define STMAPNODE       57           /* node map */
952 #define STRCC           58           /* Routing Control Channel */
953 #define STRTEADDR       59           /* route to address */
954 #define STRTENODE       60           /* route to node */
955 #define STRTETNS        61           /* route to transit network */
956 #define STRTETBL        62           /* routing table */
957 #define STPNPG          63           /* PNNI PEER GROUP */
958 #define STLINK          64           /* ATM Physical Link */
959 #define STINFOGRP       65           /* information group */
960
961 #define STNISAP         66           /* FR-ATM network interworking sap */
962 #define STSISAP         67           /* FR-ATM service interworking sap */
963 #define STPROF          68           /* FR-ATM aal connection's profile */
964 #define STNETPFX        69           /* network prefix */
965 #define STUSRPART       70           /* user part */
966 #define STADDR          71           /* address */
967 #define STSRVC          72           /* service registry */
968 #define STCIPSAP        73           /* PLOA's CIPSAP */
969
970 /* define for Envelope Function EFadr mapping */
971 #define STEVEFADR       74           /* EV EFadr to SAP mapping */
972
973 /* Used by PNNI for horizontal link hello protocol and summary addresses */
974 #define STHLHP          75           /* Horizontal link hello protocol */
975 #define STSUMMADDR      76           /* Summary addresses */
976
977 /* used by LEC for static ARP entry */
978 #define STSTAARP        77           /* static ARP entry */
979
980 /* used by PQ for TDM Configuration */
981 #define STTDM           78           /* TDM Configuration */
982   
983
984 /* Used by LES */
985 #define STLECSMPOATLV   79           /* LECS MPOA TLV entry */
986
987 #define STMPCCP         80           /* PLOA's MPC Control Point */
988 #define STMPSAP         81           /* PLOA's MPC/MPS SAP */
989 #define STMPSCP         82           /* PLOA's MPS Control Point */
990
991 /* used for group saps */
992 #define STGRTSAP        85           /* transport sap group */
993 #define STGRNSAP        86           /* netwrok sap group */
994 #define STGRDLSAP       87           /* data link  sap group */
995 #define STALLSAP        88           /* all upper/lower SAPs */
996 #define STPEERSAP       89           /* configure peer sap */
997
998 /* Used by V5 */
999 #define STVINTERFACE    83           /* V5 Interface */
1000 #define STVPORT         84           /* V5 port */
1001 #define STVLINK         85           /* V5 Link */
1002
1003 /* Used by PLOA-CIP */
1004 #define STCIPPVC        86           /* PLOA Cfg. request to configure some 
1005                                         more PVC on the fly */
1006 #define STCIPARP        87           /* PLOA Cfg. request to configure some 
1007                                         extra IP-ATM binding on the fly */
1008
1009
1010 /* used by Q.93B for AalConParam of signaling channels */
1011 #define STSIGCONPARAM   90           /* config Signaling connection parameters */
1012 #define STDELSIGPARAM   91           /* Delete Signaling connection parameters */
1013
1014 /* used by System Manager */
1015 #define STVPROC         92           /* Configure virtual node */
1016 #define STPPROC         93           /* Configure physical node */
1017 #define STASSOC         94           /* Configire association between vnodes */
1018                                      /* and layers */
1019
1020 /* used by TCAP over TCP/IP */
1021 #define STSERVER        95           /* configure TCP/UDP server */
1022
1023 /* Used by Lan Emulation Services */
1024 #define STLECSTLV       96           /* PLOA LECS TLVs */
1025 #define STLESLEC        97           /* PLOA LEC in LES database */
1026 #define STLESSMS        98           /* PLOA Multicast Server Known to LES */
1027 #define STLESLECSMS     99           /* PLOA LEC assoc. with SMS */
1028 #define STBUSLEC        100          /* PLOA LEC in BUS Database */
1029 #define STSMS           101          /* PLOA LANE Selective M-cast Server */
1030 #define STSMSGRP        102          /* PLOA SMS Multicast Group */
1031 #define STSMSLEC        103          /* PLOA LEC Associated with SMS */
1032
1033 /* used by PLOA - PPPoA */
1034 #define STMASAP         104          /* POOA MASAP - PPPoA upper SAP */
1035
1036 /* Used By PNNI */
1037 #define STTFCMTRCNODE   105          /* configure metrics of the lowest level
1038                                      / * node */
1039 #define STNHSSAP        106          /* PLOA NHS SAP */
1040 #define STMPSDISCTBL    107          /* PLOA MPS */
1041 #define STMPSINGRTBL    108          /* PLOA MPS */
1042 #define STMPSEGRTBL     109          /* PLOA MPS */
1043 #define STARISAP        110          /* PLOA ARI Sap */
1044
1045 #define STNHSCP         111          /* PLOA NHS */
1046 #define STNHSNXTHOP     112          /* PLOA NHS */
1047 #define STNHSTRCACHE    113          /* PLOA NHS */
1048 #define STNHSEXTNS      114          /* PLOA NHS */
1049 #define STNHSEGRCACHE   115          /* PLOA NHS */
1050 #define STNHSVENDATA    116          /* PLOA NHS */
1051
1052 /* used by H.323 Control */
1053 #define STSSAP          117          /* H.323 Session SAP element */
1054 #define ST323ENT        118          /* H323 entity element */
1055 #define STCALL          119          /* H.323 call element */
1056 #define STGRSSAP        120          /* H.323 group SSAP */
1057
1058 /* used by Q.93B for SVPC status */
1059 #define STVPC           121          /* Switched virtual path */
1060
1061 #define STCIPSRVR       122          /* PLOA CIP Server */
1062
1063 /* used by RTP/RTCP */
1064 #define STSESSION       123          /* RTP session */
1065
1066 /* Used by Q.930 */
1067 #define STCTLDPCB       124          /* Configure controlled interface */
1068
1069 #define STGCPENT        125          /* MGCP peer entity */
1070
1071 /* Used by SCCP */
1072 #define STNW            126          /* Network */
1073 #define STASSO          127          /* SCCP GTT Association */
1074 #define STDELASSO       128          /* SCCP Delete GTT Association */
1075
1076 /* Used by IME auto configuration of PVCs */
1077 #define STSRVCTYPE      129           /* service type */
1078 #define STSRVCCONNINFO  130           /* service connection info */
1079 #define STAALPROFILE    131           /* AAL[x] profiles; x = 1, 2, 34, 5 */
1080
1081 /* used by MPLS-LDP (+CR) */
1082 #define STPEER          132          /* LDP Peer */
1083 #define STFEC           133          /* MPLS FEC  */
1084 #define STEXPRTE        134          /* CR-LDP Explicit Route */
1085 #define STRMSAP         135          /* LDP RM SAP */
1086 #define STINT           136          /* LDP Interface */
1087 #define STROUTSAP       137          /* LDP ARI SAP */
1088 #define STFWDSAP        138          /* LDP Forwarder SAP */
1089 #define STSESS          139          /* LDP Session */
1090 #define STADDRESS       140          /* LDP Address */
1091
1092 /* used by AAL2 Signaling */
1093 #define STALTSAP        141          /* AAL2 Service user */
1094 #define STSNTSAP        142          /* MTP3B SAP */
1095 #define STGRALTSAP      143          /* ALT Group */
1096 #define STGRSNTSAP      144          /* SNT Group */
1097 #define STPATH          145          /* AAL2 path  */
1098 #define STDPC           146          /* DPC - MTP3B */
1099
1100 /* used by Annex G */
1101 #define STBE                       147
1102 #define STGRBESAP                  148
1103 #define STTPTSRV                   149
1104 #define STDESC                     150
1105 /* used by PLOA-PXY */
1106 #define STPXYSAP        151          /* PLOA PXY SAP configuration */
1107 #define STCIPARPENT     152          /* PLOA StaReq & CntrlReq for single arpEnt */
1108 #define STMACONLST      153          /* PLOA StaReq for list of conns */
1109 #define STMACON         154          /* PLOA StaReq for single conn */
1110
1111
1112 /* Used by SIP */
1113 #define STSIPENT        155          /* SIP Entity */
1114
1115 /* Used by GCP 1.2 and above */
1116 #define STGCPMGC        156          /* MGC Entity */
1117 #define STGCPMG         157          /* MG Entity */
1118
1119 /* Used bu HU - H.323 Service User */
1120 #define STLWRSAP        158
1121
1122 /* new elements added in sccp3.2 */
1123 #define STNIDPC         159          /* NID to DPC mapping */
1124 #define STNWSS7         160          /* NW specific NID to SS7-NID mapping */
1125 #define STTRFLIM        161          /* Traffic limitation data config */
1126 #define STMSGIMP        162          /* Message importance data config */
1127
1128 /* new elements for SCCP */
1129 #define STDELNW         163          /* delete network */
1130 #define STDELTSAP       164          /* delete transport sap */
1131 #define STDELNSAP       165          /* delete network sap */
1132
1133 /* new elements for 3GPP-RLC */
1134 #define STCRSAP         166          /* RLC Control SAP */
1135 #define STRLSAP         167          /* RLC Data SAP */
1136 #define STMKSAP         168          /* RLC MAC SAP */
1137
1138 /* new elements for 3GPP-NBAP */
1139 #define STNBUSAP        169          /* Upper SAP to NBAP */
1140 #define STIBPROT        170          /* NBAP Protocol     */
1141
1142 /* new elements for MPLS-RSVP (+TE) */
1143 #define STLASAP         171  /* MPLS-Appl. Sap */
1144 #define STNBR           172  /* RSVP Neighbor */
1145 #define STRVINT         173  /* RSVP Interface */
1146 #define STLTSAP         174  /* MPLS Resource Manager SAP */
1147
1148 /* new elements for FP */
1149 #define STCSAP          175  /* FP Control User */ 
1150 #define STUSAP          176  /* FP Data User    */
1151 #define STTPTENDP       177  /* SCTP endpoint   */
1152
1153 /* new elements for LAPDm */
1154 #define STLSAP          178
1155 #define STRRSAP         179
1156 /*gen_h_001.main_127 - incremented values*/
1157 /* gen_h_001.main_123 - Add  new elements for 3GPP-PDCP */
1158 #define STCTSAP         180          /* PDCP Control SAP */
1159 #ifndef QC /* gen_h_001.main_136: Fixing compilation warnings */
1160 #ifndef IE
1161 #define STTCSAP         181          /* PDCP Data SAP */
1162 #endif
1163 #endif
1164 #define STPDCPENT       182          /* PDCP Entity */
1165 /*-- gen_h_001.main_130 --*/
1166 #define STINST          183          /* IuUP Instance */
1167
1168 /* gen_h_001.main_134 - lte rlc 2.1 */
1169 /* elements for LTE-RLC SAPs */
1170 #define STCKWSAP        184          /*!< RLC Control SAP element. */
1171 #define STKWUSAP        185          /*!< RLC Data SAP element. */
1172 #define STRGUSAP        186          /*!< RLC MAC SAP element. */
1173 /* elements for LTE-PDCP SAPs */
1174 #define STCPJSAP        187          /*!< PDCP control SAP element. */
1175 #define STPJUSAP        188          /*!< PDCP control SAP element. */
1176 #ifdef RM_INTF
1177 #define STRMUSAP        189          /*!< LTE RRM control SAP element. */
1178 #define STRGMSAP        190
1179 #endif
1180
1181 #define STNLUSAP        191          /*!< eNB APP and SON module SAP */
1182
1183 /* Mngmt.t.cntrl.action, Mngmt.hdr.elmId.elmntInst1 */
1184
1185 #define AENA             1           /* enable */
1186 #define ADISIMM          2           /* disable - immediately */
1187 #define ADISGRC          3           /* disable - gracefully */
1188 #define ARST             4           /* reset */
1189 #define ADGN             5           /* diagnose */
1190 #define AADD             6           /* add */
1191 #define ADEL             7           /* delete */
1192 #define AINH             8           /* inhibit */
1193 #define AUNINH           9           /* uninhibit */
1194 #define ASPRST           10          /* signalling point restart */
1195 #define AACTLNKSET       11          /* activate link set */
1196 #define ADEACTLNKSET     12          /* deactivate link set */
1197 #define AVAL             13          /* validate circuit */
1198 #define AFLCON           14          /* flow control on */
1199 #define AFLCOFF          15          /* flow control off */
1200 #define ACLEAR           16          /* clear */
1201 #define ASTRTLL          17          /* start local loop */
1202 #define AENDLL           18          /* end local loop */
1203 #define ACTION_DROP      19          /* action - drop */
1204 #define ACTION_NO_DROP   20          /* action - no drop */
1205 #define ABND_ENA         21          /* bind and enable */
1206 #define ARSTVCC          22          /* restart a virtual channel connection */
1207 #define ARSTVPC          23          /* restart a virtual path connection */
1208
1209 /* actions for LsaCntrlReq (q.2140) */
1210
1211 #define AFORCE_PRV       24          /* Force Proving */
1212 #define AFORCE_EM        25          /* Force Emergency */
1213 #define ACLR_FORCE_MD    26          /* Clear Force Mode */
1214 #define ACTION_LPO       27          /* Local Processor Outage */
1215 #define ACTION_LPR       28          /* Local Processor Recovered */
1216 #define APRV_UNS         29          /* Proving Unsuccessful Response */
1217
1218 #define ABND             30          /* bind */
1219 #define AUBND            31          /* disable + unbind */
1220 #define AUBND_DIS        AUBND       /* unbound disable */
1221
1222
1223 /* actions for mtp3 */
1224
1225 #define ADELROUT         32          /* delete rout control block */
1226 #define ADELLNKSET       33          /* delete all linkset control blocks, link control blocks 
1227                                         for a given linkset id */
1228 #define ADELCMBLNKSET    34          /* delete linkset control block for a given combined linkset id */
1229 #define ADELLNK          35          /* delete link control block */
1230 #define ASHUTDOWN        36          /* shutdown the layer */
1231 #define ATRAP            37          /* trap */
1232 #define AGEN_STA         38          /* generate status indications -MSOC */
1233
1234 /* actions for fault tolerance */
1235 #define AGO_ACT                  38   /* go active */
1236 #define AGO_SBY                  39   /* go standby */
1237 #define AWARMSTART               40   /* start warm start */
1238 #define AABORT                   41   /* abort warm start or controlled sw */
1239 #define ASYNCHRONIZE             42   /* start controlled switchover */
1240 #define ANOACT                   43   /* null action (nop) */
1241 #define AHOLDQUEUE               44   /* hold queue, for the message router */
1242 #define ARLSQUEUE                45   /* hold queue, for the message router */
1243 #define APEER_PING               46   /* peer ping, for peer system agent */
1244 #define ADIS_PEER_SAP            47   /* enable/disable peer sap */
1245 #define AGEN_FAULT               48   /* fault injection action */
1246 #define AAUDIT                   49   /* Perform Audits on the layer */
1247 #define ADISIMM_L2               50   /* Disable Layer 2 only */
1248 #define ADEACTLNKSET_L2          51   /* deactivate link set: all links should be deactivated
1249                                          only at L2 level */
1250 #define AGEN_MSG                 52   /* message generation control action */
1251
1252 /* For PLOA */
1253 #define ASNDTRIGG                53   /* Generate Flow detection trigger  */
1254
1255 #define AXIDINI                  54   /* GPRS: start XID initialization */
1256 #define APMLEN                   55   /* GPRS: change the N202 value of 
1257                                          an LLC link */
1258 /* For Q.930/Q.931 */
1259 #define AADD_BCHAN               56   /* Provision B Channel */     
1260 #define ADEL_BCHAN               57   /* De-Provision B Channel */
1261 #define AMOOS                    58   /* Put the D-Channel MOOS State */
1262 #define ASRVMSG_ON               59   /* Turn on service message capability */ 
1263 #define ASRVMSG_OFF              60   /* Turn off service message capability */
1264 #define ARESTART                 61   /* Restart Interface/Channel */
1265
1266 /* For TCR 0004.01 */
1267 #define AMODIFY                  62   /* Modify trace length */
1268
1269 /* For AAL2 Signaling */
1270 #define ASTOPRST                 63   /* Stop Reset procedure */ 
1271 #define ABLK                     64   /* Block Procedure - AAL2 */ 
1272 #define AUBLK                    65   /* unblock procedure */ 
1273
1274 /* For GCP 1.2 */
1275 #define AHANDOFF                 66   /* Handoff procedure */
1276 #define AMATEDCFG_ADD            67   /* Configure MG as mated pair */
1277 #define AMATEDCFG_RMV            68   /* Disassociate two MGs which were in a mated
1278                                          pair cfg */
1279 #define AFAILOVER                69   /* Failover Procedure */
1280 /* For SIP */
1281 #define AADD_ASSOC_TPTSRV        70   /* Add transport server association */
1282 #define ADEL_ASSOC_TPTSRV        71   /* Delete transport server association */
1283
1284 /* for SCCP congestion control (sccp3.2) */
1285 #define ACONG                    72   /* congestion cntrl - start sending SSC */
1286 /* For OAM */
1287 #define ASTRTOAMLL               72   /* OAM Start Loopback */
1288 #define AENDOAMLL                73   /* OAM End Loopback */
1289 #define ASTRTPMG                 74   /* OAM Start Performance Monitoring and Generation */
1290 #define AENDPMG                  75   /* OAM End Performance Monitoring and Generation */
1291 #define ASTRTPM                  76   /* OAM Start Performance Monitoring */
1292 #define ASTRTPG                  77   /* OAM Start Performance Generation */
1293 #define ASTRTPMLL                78   /* OAM Start PM Loopback of FMC's */
1294 #define AENDPMLL                 79   /* OAM End Performance Generation */
1295 #define ARSTPM                   80   /* OAM Reset counters of PM block */
1296
1297 #define AMODABORT                81 /* Abort Modification Request */
1298 #define AADD_ASSOC_ENDP          82
1299 #define ADEL_ASSOC_ENDP          83
1300 /* for support of adding/deleting PC (sccp3.2) */
1301 /* gen_h_001.main_121 - Support for adding/deleting PC */
1302 #define AADD_OPC                 84
1303 #define ADEL_OPC                 85
1304 /* gen_h_001.main_126 - Addition - New hash defines start/stop of MTP3 Audit */
1305 /* gen_h_001.main_127 - changed macro values */
1306 #define ASTRT_AUDIT              90
1307 #define ASTOP_AUDIT              91
1308 #define ASTRT_LNK_AUDIT          92
1309 #define ASTRT_LNKSET_AUDIT       93
1310 #define ASTRT_RTE_AUDIT          94
1311 #define ASTOP_LNK_AUDIT          95
1312 #define ASTOP_LNKSET_AUDIT       96
1313 #define ASTOP_RTE_AUDIT          97
1314
1315 /* gen_h_001.main_125 - Addition - SUA support*/
1316 #ifdef LSPV2_8 
1317 #define AADD_ASP                 86
1318 #define ADEL_ASP                 87
1319 #define ADEL_ASPSSN              88
1320 #define ADEL_ASPCPC              89
1321 #endif
1322
1323 /* Added for NBAP to support SCT(SCTP) as lower interface */
1324 #define AEOPENR 100
1325 #define AECLOSER 101
1326 #define AESTABLISH 102
1327 #define ATERMINATE 103
1328 #define AHBEAT_ENB_ASSOC 104
1329 #define AHBEAT_DIS_ASSOC 105
1330 #define AHBEAT_ENB_DSTADDR 106
1331 #define AHBEAT_DIS_DSTADDR 107
1332
1333 /* Mngmt.t.cntrl.subAction */
1334   
1335 #define SAELMNT          1           /* specified element */
1336 #define SAACNT           2           /* accounting generation */
1337 #define SAUSTA           3           /* unsolicited status generation */
1338 #define SATRC            4           /* trace generation */
1339 #define SADBG            5           /* debugging */
1340 #ifdef SS_DIAG
1341 /* gen_h_001.main_142:Added subaction SALOG */
1342 #define SALOG            6           /* logging  */
1343 #endif
1344
1345 /* grouping criteria's will be filled in subaction fields */
1346
1347 #define SAGR_DSTPROCID   6           /* group on dstProcId */    
1348 #define SAGR_ROUTE       7           /* group on routes */    
1349 #define SAGR_PRIORITY    8           /* group on priority */    
1350 #define SAENA_PEER_SAP   9           /* enable peer sap */
1351 #define SADIS_PEER_SAP   10          /* disable peer sap */
1352 #define SAAUD            11          /* Audit */
1353 /* For GCP 1.2 */
1354 #define SADNS            12          /* Enable /Disable DNS Access*/   
1355
1356 /* for SCCP traffic limitation mechanism and error report (sccp3.2) */
1357 #define SATRFLIM         13          /* traffic limitation mechanism */
1358 #define SAREPORT         14          /* sccp error perfroamce report */
1359
1360 #define SAGR_GENERIC_MAX  20         /* max on subactions to be defined in gen.h */
1361
1362 /* Subactions required for H.323 user layer (HU) */
1363 #define HU_RUNREQ        12          /* run a test case */
1364 #define HU_PROCEEDREQ    13          /* resume operation with a test case */
1365
1366 /* Mngmt.t.mib.opCode */
1367 #define MIBOPCODEBASE         1000 /* Base for non standard opCode values */ 
1368 #define MIB_REQUEST_GET       0    /* GET request for reading mib variable*/
1369 #define MIB_REQUEST_GET_NEXT  1    /* GET-NEXT request to read
1370                                       lexicographically next mib variable*/
1371 #define MIB_REQUEST_SET       3    /* Assign mib variable a value */
1372  
1373 /* Mngmt.t.mib.status */
1374 #define MIBSTATUSBASE         1000 /* Base for non standard status values */ 
1375 #define MIB_SUCCESS           0    /* Mib request successfully completed */
1376 #define MIB_NOSUCHNAME        2    /* no such name */
1377 #define MIB_INVALID_IDX       (MIBSTATUSBASE + 1) /* Index to the row-column 
1378                                                    * of mib  table invalid */
1379 #define MIB_INVALID_OPCODE    (MIBSTATUSBASE + 3) /* OpCode is not one of the 
1380                                                    * above defined*/
1381 #define MIB_END_ALL_TABLES    (MIBSTATUSBASE + 4) /* End of the table reached 
1382                                                    * in get next */
1383 #define MIB_SUCCESS_NEXT_AVL_OBJ (MIBSTATUSBASE + 6) /* returning object from
1384                                                     * a different table than
1385                                                     * before */
1386
1387 /* Mngmt.t.trc.evnt */
1388   
1389 #define TL1FRMRX         0           /* layer 1 - frame received */
1390 #define TL1FRMTX         1           /* layer 1 - frame transmitted */
1391 #define TL2FRMRX         2           /* layer 2 - frame received */
1392 #define TL2FRMTX         3           /* layer 2 - frame transmitted */
1393 #define TL2TMR           4           /* layer 2 - timer expired */
1394 #define TL3PKTRX         5           /* layer 3 - frame received */
1395 #define TL3PKTTX         6           /* layer 3 - frame transmitted */
1396 #define TL3TMR           7           /* layer 3 - timer expired */
1397 #define TL7FRMRX         8           /* layer 7 - frame received */
1398 #define TL7FRMTX         9           /* layer 7 - frame transmitted */
1399 #define TL7TMR           10          /* layer 7 - timer expired */
1400 #define TL5MSGTX         11          /* layer 5 - message transmitted */
1401 #define TL5MSGRX         12          /* layer 5 - message received */
1402
1403 /* defines for MxxStsReq */
1404   
1405 #define ZEROSTS          0           /* zero statistics counters */
1406 #define NOZEROSTS        1           /* dont zero statistics counters */
1407
1408 /* defines for MxxCfgReq */
1409
1410 #define THRSHA           0           /* 00% resources available */
1411                                      /* scc drops frames */
1412 #define THRSHB           1           /* 10% resources available */
1413                                      /* lapb and lapd send rnr frames */
1414 #define THRSHC           2           /* 20% resources available */
1415                                      /* lapb and lapd send rr frames */
1416 #define THRSHD           3           /* 30% resources available */
1417                                      /* x.25 es and x.25 is send reset packets */
1418 #define THRSHE           4           /* 40% resources available */
1419                                      /* x.25 es and x.25 is send clear packets */
1420                                      /* to call packets */
1421 #define LSAP             1           /* Link Level SAP Type */
1422 #define XTSAP            2           /* Transport SAP Type */
1423
1424 #ifdef IGNORE
1425 #undef IGNORE
1426 #define IGNORE           0           /* Ignore SAP Type */
1427 #else
1428 #define IGNORE           0           /* Ignore SAP Type */
1429 #endif /* IGNORE */
1430
1431 #define X25LINK          0           /* X25 Link */
1432 #define X75LINK          1           /* X75 Link */
1433  
1434 #define USER             0           /* acts as user */
1435 #define NETWORK          1           /* acts as network */
1436 #define SYM_USER         2           /* acts as symmetrical user */
1437
1438 /* defines for MxxStaInd */
1439
1440 #define ENTR_CONG        1           /* event - entering congst */
1441 #define EXIT_CONG        2           /* event - exiting congest */
1442 #define PROT_ST_UP       3           /* event - link up */
1443 #define PROT_ST_DN       4           /* event - link down */
1444 #define PROT_ERR         5           /* event - protocol error */
1445 #define INV_REM          6           /* event - invalid remove */
1446 #define LINK_ALIGNED     7           /* event - mtp 2 - link alignment */
1447 #define ALIGN_LOST       8           /* event - mtp 2 - alignment lost */
1448 #define ELEC_DOWN        9           /* event - scc - electrical interface down */
1449 #define ELEC_UP          10          /* event - scc - electrical interface up */
1450 #define REG_DOWN         11          /* event - mos - memory region down */
1451 #define REG_UP           12          /* event - mos - memory region up */
1452 #define INH_DEN          13          /* event - link inhibit denied */
1453 #define INH_ACK          14          /* event - link inhibited */
1454 #define UNINHED          15          /* event - link uninhibited */
1455 #define UNINH_DEN        16          /* event - link uninhibit denied */
1456 #define CONG_LVL_1       17          /* event - congestion level 1 */
1457 #define CONG_LVL_2       18          /* event - congestion level 2 */
1458 #define CIR_OUT_ORD      19          /* event - cirquit out of order */
1459 #define CIRMGT_NORESP    20          /* event - no response to cirquit management message */
1460 #define CIR_INVAL        21          /* event - invalid circuit */
1461 #define CIR_VAL_FAIL     22          /* event - circuit validation failure */
1462 #define CIR_VAL_SUCC     23          /* event - circuit validation success */
1463 #define CIC_INVAL        24          /* event - invalid cic code */
1464 #define CONT_FAIL        25          /* event - continuity failed */
1465 #define CIR_UNEQUIP      49          /* event - circuit unequipped */
1466 #define RMT_BLKD         50          /* event - link remotely blocked */
1467 #define RMT_UNBLKD       51          /* event - link remotely unblocked */
1468 #define CIR_IN_SERV      52          /* event - circuit back in service */
1469 #define TERM_INIT_FAIL   53          /* event - terminal initialization failed */
1470 #define ERROR_LOG        54          /* event - software error logged */
1471  
1472 #define INV_EVENT        (ERROR_LOG + 1)   /* event - invalid */
1473
1474 /* ss7 switch defines */
1475
1476 /* #define SW_TST        0            switch - test */
1477 #define SW_CCITT         1           /* switch - ccitt */
1478 #define SW_ITU           1           /* switch - itu-t */
1479 #define SW_CCITT88       1           /* switch - ccitt 88 */
1480 #define SW_ANSI          2           /* switch - ansi */
1481 #define SW_ANSI88        2           /* switch - ansi 88 */
1482 #define SW_ANSI92        3           /* switch - ansi 92*/
1483 #define SW_CCITT92       4           /* switch - ccitt 92 */
1484 #define SW_SINGTEL       4           /* switch - singapore telecom */
1485 #define SW_Q767          5           /* switch - int'l isup q.767 */
1486 #define SW_CHINA         6           /* switch - china */
1487
1488 /* for sccp3.2 */
1489 #define SW_JAPAN         7           /* switch - japan */
1490
1491 \f
1492 #ifndef CMFILE_REORG_1
1493
1494 /* defines for Q.93B */
1495  
1496 /* parameter values that are at management and at upper interface */
1497  
1498 /* switch defines */
1499
1500 #define SW_ATMF_UNI30        0    /* switch - ATM Forum UNI v3.0 */
1501 #define SW_ATMF_UNI31        1    /* switch - ATM Forum UNI v3.1 */
1502 #define SW_IISP_UNI30        2    /* switch - Interim Inter-Switch Signalling Protocol */
1503 #define SW_IISP_UNI31        3    /* switch - Interim Inter-Switch Signalling Protocol */
1504 #define SW_Q2931             4    /* switch - ITU - 2931 */
1505 #define SW_ATMF_SIG_PNNI     5    /* switch - ATM Forum PNNI Signalling */
1506 #define SW_ATMF_UNI40        6    /* switch - ATM Forum UNI v4.0 */
1507 #define SW_ATMF_SIG_AINI     7    /* switch - ATM Forum AINI Signalling */
1508 #define SW_INVALID         0xff   /* switch - invalid value */
1509  
1510 /* information element id's */
1511
1512 #define AM_ME_ETOETRANSDLY    0x42   /* End-to-End Transit Delay */
1513 #define AM_ME_CONNNMB         0x4c   /* Connected number */
1514 #define AM_ME_CONNSAD         0x4d   /* Connected Subaddress */
1515 #define AM_ME_TFCDESC         0x59   /* ATM Traffic Descriptor */
1516 #define AM_ME_BHILYRINFO      0x5d   /* Broadband High Layer Info */
1517 #define AM_ME_BLOLYRINFO      0x5f   /* Broadband Low Layer Info */
1518 #define AM_ME_CDPTYNMB        0x70   /* Called Party Number */
1519 #define AM_ME_CDPTYSAD        0x71   /* Called Party Sub Address */
1520 #define AM_ME_CDPTYSOFTPVC    0xe0   /* Called party soft PVPC/PVCC */
1521 #define AM_ME_CRANKBACK       0xe1   /* Crankback */
1522 #define AM_ME_DSGTRANLST      0xe2   /* Designated Transit list */
1523 #define AM_ME_CGPTYSOFTPVC    0xe3   /* Calling party soft PVPC/PVCC */
1524 #define AM_ME_MINACCTFCDESC   0x81   /* Minimum Acceptable Tfc. Desc. */
1525 #define AM_ME_ALTTFCDESC      0x82   /* Alternative ATM Tfc. Desc. */
1526 #define AM_ME_ABRSETUPPARAM   0x84   /* ABR Setup Parameters */
1527 #define AM_ME_ABRADDPARAM     0xe4   /* ABR Additional Parameters */
1528 #define AM_ME_EXTQOSPARAM     0xec   /* Extended Qos Parameter */
1529
1530 /* information element idx's */
1531
1532 #define AM_MEI_TFCDESC        0x06   /* ATM Traffic Descriptor */
1533 #define AM_MEI_BHILYRINFO     0x09   /* Broadband High Layer Info */
1534 #define AM_MEI_BLOLYRINFO     0x0b   /* Broadband Low Layer Info */
1535 #define AM_MEI_CDPTYNMB       0x12   /* Called Party Number */
1536 #define AM_MEI_CDPTYSAD       0x13   /* Called Party Sub Address */
1537 #define AM_MEI_CRANKBACK      0x1f   /* Crankback */
1538 #define AM_MEI_CDPTYSOFTPVC   0x20   /* Called Party Soft PVPC/PVCC */
1539 #define AM_MEI_CONNNMB        0x21   /* Connected number */
1540 #define AM_MEI_CONNSAD        0x22   /* Connected sub address */
1541 #define AM_MEI_DSGTRANLST     0x23   /* Designated Transit List */
1542 #define AM_MEI_CGPTYSOFTPVC   0x34   /* Calling Party Soft PVPC/PVCC */
1543 #define AM_UNKNOWN            0xfe   /* message type unknown */
1544
1545 /* addressing related defines */
1546
1547 /* numbering plan identification */
1548  
1549 #define AM_NMBPLN_UNK        0x00    /* unknown */
1550 #define AM_NMBPLN_ISDN       0x01    /* ISDN/telephony numbering plan (E.164) */
1551 #define AM_NMBPLN_NSAP       0x02    /* ISO NSAP */
1552 #define AM_NMBPLN_PVT        0x09    /* private */
1553  
1554 \f
1555 /* ATM address types */
1556
1557 #define ATMADDR_TYPE_E164   AM_NMBPLN_ISDN   /* E.164 format */
1558 #define ATMADDR_TYPE_AESA   AM_NMBPLN_NSAP   /* ATM forum AESA format */
1559
1560 /* maximum size of VCC table */
1561 #define MAX_ATMVCCTBL_SZ      16
1562
1563 /* maximum number of ATM addresses in the ATM address table */
1564 #define  MAX_ATMADDRTBL_SZ    4
1565
1566 /* type of number */
1567  
1568 #define AM_TYPNMB_UNK        0x00    /* unknown */
1569 #define AM_TYPNMB_INT        0x01    /* international */
1570 #define AM_TYPNMB_NAT        0x02    /* national */
1571 #define AM_TYPNMB_NSP        0x03    /* network specific */
1572 #define AM_TYPNMB_SUB        0x04    /* subscriber number */
1573 #define AM_TYPNMB_ABR        0x06    /* abbreviated   */
1574  
1575 /* screening indicator */
1576  
1577 #define AM_SCRIND_USRNOTSCR  0x00    /* user provided, not screened */
1578 #define AM_SCRIND_USRVERPASS 0x01    /* user provided, verified and passed */
1579 #define AM_SCRIND_USRVERFAIL 0x02    /* user provided, verified and failed */
1580 #define AM_SCRIND_NET        0x03    /* network provided */
1581  
1582 /* presentation indicator */
1583  
1584 #define AM_PRSIND_ALLOW      0x00    /* presentation allowed */
1585 #define AM_PRSIND_RESTRICT   0x01    /* presentation restricted */
1586 #define AM_PRSIND_NOTAVAIL   0x02    /* number not available */
1587  
1588 /* odd/even indicator */
1589  
1590 #define AM_OEIND_EVEN        0x00    /* even */
1591 #define AM_OEIND_ODD         0x01    /* odd */
1592  
1593 /* type of subaddress */
1594  
1595 #define AM_TYPSAD_NSAP       0x00    /* NSAP */
1596 #define AM_TYPSAD_USER       0x01    /* user specified - ATM Endsystem addr */
1597 #define AM_TYPSAD_USERSPEC   0x02    /* user specified */
1598  
1599 /* authority and format identifiers for OSI NSAP addresses */
1600  
1601 /* AFI for individual address */
1602 #define AFI_DCC        0x39  /* BCD format for ISO DCC */
1603 #define AFI_ICD        0x47  /* BCD format for ISO ICD */
1604 #define AFI_E164       0x45  /* BCD format for E.164 */
1605
1606 /* AFI for group addresses */
1607 #define AFI_GRP_DCC    0xBD  /* BCD format for ISO DCC */
1608 #define AFI_GRP_ICD    0xC5  /* BCD format for ISO ICD */
1609 #define AFI_GRP_E164   0xC3  /* BCD format for E.164 */
1610
1611 /* low layer information - layer 2 id */
1612
1613 #define AM_LLI_L2ID             2       /* layer 2 id */
1614
1615 /* low layer information - layer 2 protocol */
1616
1617 #define AM_LLI_L2PROT_ISO1745   0x01    /* basic mode ISO 1745 */
1618 #define AM_LLI_L2PROT_Q921      0x02    /* CCITT Rec. Q.921 */
1619 #define AM_LLI_L2PROT_X25LNK    0x06    /* CCITT Rec. X.25, link layer */
1620 #define AM_LLI_L2PROT_X25MLNK   0x07    /* CCITT Rec. X.25, multilink */
1621 #define AM_LLI_L2PROT_LAPB      0x08    /* extended LAPB (half duplex) */
1622 #define AM_LLI_L2PROT_HDLC_ARM  0x09    /* HDLC ARM (ISO 4335) */
1623 #define AM_LLI_L2PROT_HDLC_NRM  0x0a    /* HDLC NRM (ISO 4335) */
1624 #define AM_LLI_L2PROT_HDLC_ABM  0x0b    /* HDLC ABM (ISO 4335) */
1625 #define AM_LLI_L2PROT_LLC       0x0c    /* LAN LLC (ISO 8802/2) */
1626 #define AM_LLI_L2PROT_X75SLP    0x0d    /* CCITT Rec. X.75 SLP */
1627 #define AM_LLI_L2PROT_Q922      0x0e    /* CCITT Rec. Q.922 */
1628 #define AM_LLI_L2PROT_USER      0x10    /* user specified */
1629 #define AM_LLI_L2PROT_ISO7776   0x11    /* ISO 7776 DTE-DTE operation */
1630
1631 /* low layer information - layer 2 mode of operation */
1632
1633 #define AM_LLI_L2MODE_NORMAL    1       /* normal mode of operation */
1634 #define AM_LLI_L2MODE_EXT       2       /* extended mode of operation */
1635
1636 /* low layer information - layer 2 Q.933 use */
1637
1638 #define AM_LLI_L2Q933_USE       0       /* when Rec. Q.933 coding not used */
1639
1640 /* low layer information - layer 3 id */
1641
1642 #define AM_LLI_L3ID             3       /* layer 3 id */
1643
1644 /* low layer information - layer 3 protocol */
1645
1646 #define AM_LLI_L3PROT_X25PKT    0x06    /* CCITT Rec. X.25, packet layer */
1647 #define AM_LLI_L3PROT_ISO8208   0x07    /* ISO/IEC 8208 */
1648 #define AM_LLI_L3PROT_ISO8878   0x08    /* X.223/ISO 8878 */
1649 #define AM_LLI_L3PROT_ISO8473   0x09    /* ISO/IEC 8473 */
1650 #define AM_LLI_L3PROT_T70       0x0a    /* CCITT Rec. T.70 */
1651 #define AM_LLI_L3PROT_ISO9577   0x0b    /* ISO/IEC TR 9577 */
1652 #define AM_LLI_L3PROT_USER      0x80    /* user specified */
1653
1654 /* low layer information - layer 3 mode of operation */
1655
1656 #define AM_LLI_L3MODE_NORMAL    1       /* normal packet sequence numbering */
1657 #define AM_LLI_L3MODE_EXT       2       /* extended packet sequence numbering */
1658
1659 /* low layer information - layer 3 default packet size */
1660
1661 #define AM_LLI_L3PKTSIZE_16     0x04    /* default packet size 16   octets */
1662 #define AM_LLI_L3PKTSIZE_32     0x05    /* default packet size 32   octets */
1663 #define AM_LLI_L3PKTSIZE_64     0x06    /* default packet size 64   octets */
1664 #define AM_LLI_L3PKTSIZE_128    0x07    /* default packet size 128  octets */
1665 #define AM_LLI_L3PKTSIZE_256    0x08    /* default packet size 256  octets */
1666 #define AM_LLI_L3PKTSIZE_512    0x09    /* default packet size 512  octets */
1667 #define AM_LLI_L3PKTSIZE_1024   0x0a    /* default packet size 1024 octets */
1668 #define AM_LLI_L3PKTSIZE_2048   0x0b    /* default packet size 2048 octets */
1669 #define AM_LLI_L3PKTSIZE_4096   0x0c    /* default packet size 4096 octets */
1670
1671 /* low layer information - layer 3 ISO/IEC TR 9577 Initial Protocol Id */
1672
1673 /* ec005.12: corrected value */
1674 #define AM_LLI_ISO9577_IPI_SNAP 0x80    /* IPI - SNAP */
1675 #define AM_LLI_ISO9577_IPI_IP   0xCC    /* IPI - Internet Protocol */
1676
1677 /* low layer information - layer 3 SNAP Id */
1678
1679 #define AM_LLI_SNAP_ID          0x00    /* SNAP id */
1680
1681 /* high layer information type */
1682
1683 #define AM_HLITYP_ISO        0x00    /* ISO */
1684 #define AM_HLITYP_USR        0x01    /* user specific */
1685 #define AM_HLITYP_HLPROF     0x02    /* high layer profile */
1686 #define AM_HLITYP_APPID      0x03    /* vendor-specific application id */
1687 #define AM_HLITYP_BISDN      0x04    /* reference to ITU-T SG1 B-ISDN teleservice recommendation */
1688
1689 /* ABR Additional parameter identifiers */
1690
1691 #define AM_AAP_FAPR_ID    0xC2  /* forward additional parameter record identifier */
1692 #define AM_AAP_BAPR_ID    0xC3  /* forward additional parameter record identifier */
1693
1694 /* Extended QOS parameter identifiers */
1695
1696 #define AM_EQP_AFPCDV_ID  0x94  /* acceptable forward   peak-to-peak cell delay variation identifier */
1697 #define AM_EQP_ABPCDV_ID  0x95  /* acceptable backward  peak-to-peak cell delay variation identifier */
1698 #define AM_EQP_CFPCDV_ID  0x96  /* cumulative forward   peak-to-peak cell delay variation identifier */
1699 #define AM_EQP_CBPCDV_ID  0x97  /* cumulative backward  peak-to-peak cell delay variation identifier */
1700 #define AM_EQP_AFCLR_ID   0xA2  /* acceptable forward  cell loss ratio identifier */
1701 #define AM_EQP_ABCLR_ID   0xA3  /* acceptable backward cell loss ratio identifier */
1702
1703 /* Extended QOS parameter origin token values */
1704
1705 #define AM_EQP_ORG_USR    0x00  /* originating user */
1706 #define AM_EQP_ORG_INTNET 0x01  /* intermediate network */
1707
1708 /* ABR Setup parameter identifiers */
1709
1710 #define AM_ASP_FAICR_ID   0xC2  /* forward  ABR initial cell rate identifier */
1711 #define AM_ASP_BAICR_ID   0xC3  /* backward ABR initial cell rate identifier */
1712 #define AM_ASP_FATBE_ID   0xC4  /* forward  ABR transient buffer exposure identifier */
1713 #define AM_ASP_BATBE_ID   0xC5  /* backward ABR transient buffer exposure identifier */
1714 #define AM_ASP_CRMFRTT_ID 0xC6  /* cumulative RM fixed round trip time identifier */
1715 #define AM_ASP_FRIF_ID    0xC8  /* forward  rate increment factor identifier */
1716 #define AM_ASP_BRIF_ID    0xC9  /* backward rate increment factor identifier */
1717 #define AM_ASP_FRDF_ID    0xCA  /* forward  rate decrement factor identifier */
1718 #define AM_ASP_BRDF_ID    0xCB  /* backward rate decrement factor identifier */
1719
1720 /* ATM Transfer capability */
1721
1722 #define AM_ATC_NRTVBR1        0x00   /* Non-real time VBR */
1723 #define AM_ATC_RTVBR1         0x01   /* Real time VBR */
1724 #define AM_ATC_NRTVBR2        0x02   /* Non-real time VBR */
1725 #define AM_ATC_CBR1           0x04   /* CBR */
1726 #define AM_ATC_CBR2           0x05   /* CBR */
1727 #define AM_ATC_CBR3           0x06   /* CBR */
1728 #define AM_ATC_CBRCLR         0x07   /* CBR with CLR commitment on CLP=0+1 */
1729 #define AM_ATC_NRTVBR3        0x08   /* Non-real time VBR */
1730 #define AM_ATC_RTVBR2         0x09   /* Real time VBR */
1731 #define AM_ATC_NRTVBR4        0x0A   /* Non-real time VBR */
1732 #define AM_ATC_NRTVBRCLR      0x0B   /* Non-real time VBR with CLR commitment on CLP=0+1 */
1733 #define AM_ATC_ABR            0x0C   /* ABR */
1734 #define AM_ATC_RTVBRCLR       0x13   /* Real time VBR with CLR commitment on CLP=0+1 */
1735
1736 \f
1737 /* defines for UME */
1738
1739 #define UM_MAXLEN_OBJ_ID     34      /* max length of an object-id */
1740
1741 /* PNNI qos class definitions
1742  */
1743 #define PN_QOS_CLASS_UBR          0    /* unspecified */
1744 #define PN_QOS_CLASS_CBR          1    /* constant bit rate */
1745 #define PN_QOS_CLASS_VBR_RT       2    /* variable bit rate - real time */
1746 #define PN_QOS_CLASS_VBR_NRT      3    /* variable bit rate - non real time */
1747 #define PN_QOS_CLASS_ABR          4    /* available bit rate */
1748  
1749 /* maximum number of ports per neighbor -- change if you expect more
1750  */
1751 #define PN_MAX_PORTS_NBR           5
1752
1753 /* Peer group and node identifier length */
1754 #define PN_PGID_LEN   14
1755 #define PN_NODEID_LEN 22
1756
1757 /* maximum number of qos classes */
1758 #define PN_NUM_QOS_CLASSES        5
1759
1760 /* defines for PNNI */
1761  
1762 #define SW_ATMF_RTE_PNNI1    0       /* PNNI Phase 1 */
1763  
1764 /* OAM Traffic Descriptor */
1765  
1766 #define AM_OTD_NUSRORGFMI       0x00      /* No user originated fault mgmt ind. */
1767 #define AM_OTD_USRORGFMI        0x01      /* user originated fault mgmt ind. */
1768  
1769 #define AM_OTD_OAMF5OPT         0x00      /* The use of end-to-end OAM F5 Flow is optional
1770 */
1771 #define AM_OTD_OAMF5MAND        0x01      /* The use of end-to-end OAM F5 Flow is mandatory
1772  */
1773  
1774 #define AM_OTD_NUSRSHAPEREQ     0X00      /* No user req. on shaping by network */
1775  
1776 #define AM_OTD_NAGGUSRSHAPE     0X01      /* Aggregate shaping not allowed */
1777  
1778 #define AM_OTD_ETOEF5_0         0X00      /* 0% of FPCR/BPCR (CLP=0+1) */
1779 #define AM_OTD_ETOEF5_01        0x01      /* 0.1% of FPCR/BPCR (CLP=0+1) */
1780 #define AM_OTD_ETOEF5_1         0x04      /* 1% of FPCR/BPCR (CLP=0+1) */
1781  
1782 #endif /* CMFILE_REORG_1 */
1783
1784 /* degines for management confirms */
1785
1786 /* status */
1787 #define LCM_PRIM_OK             0         /* OK , activity completed */
1788 #define LCM_PRIM_NOK            1         /* NOK, activity completed */
1789 #define LCM_PRIM_OK_NDONE       2         /* OK, activity not completed */
1790
1791 /* reason */
1792 #define LCM_REASON_NOT_APPL             0    /* not applicable */
1793 #define LCM_REASON_INVALID_ENTITY       1    /* invalid entity */
1794 #define LCM_REASON_INVALID_INSTANCE     2    /* invalid instance */
1795 #define LCM_REASON_INVALID_MSGTYPE      3    /* invalid message type */
1796 #define LCM_REASON_MEM_NOAVAIL          4    /* memory not avail */
1797 #define LCM_REASON_INVALID_ELMNT        5    /* invalid hdr.elmnt */
1798 #define LCM_REASON_RECONFIG_FAIL        6    /* reconfiguration */
1799 #define LCM_REASON_REGTMR_FAIL          7    /* timer registration failed */
1800 #define LCM_REASON_GENCFG_NOT_DONE      8    /* gene config not done */
1801 #define LCM_REASON_INVALID_ACTION       9    /* invalid control action */
1802 #define LCM_REASON_INVALID_SUBACTION    10   /* invalid control subaction */
1803 #define LCM_REASON_INVALID_STATE        11   /* invalid state */
1804 #define LCM_REASON_INVALID_SAP          12   /* invalid sap identifier */
1805 #define LCM_REASON_INVALID_PAR_VAL      13   /* invalid parameter value */
1806 #define LCM_REASON_QINIT_FAIL           15   /* queue initialization failed */
1807 #define LCM_REASON_NEG_CFM              16   /* negative confirmation */
1808 #define LCM_REASON_UPDTMR_EXPIRED       17   /* update timer expired */
1809 #define LCM_REASON_MISC_FAILURE         18    /* miscellaneous failures */
1810 #define LCM_REASON_EXCEED_CONF_VAL      19   /* Exceeds configured value */
1811 #define LCM_REASON_HASHING_FAILED       20    /* Hashing failed */
1812 #define LCM_REASON_PEERCFG_NOT_DONE     21   /* swft -peer sap not configured */
1813 #define LCM_REASON_PRTLYRCFG_NOT_DONE   22   /* swft -portable lyr not configured */
1814 /* common Distributed FT/HA related failure reasons */      
1815 #define LCM_REASON_INV_RSET             23   /* Inv. rset */
1816 #define LCM_REASON_INV_RSET_RANGE       24   /* Inv. rset range */
1817 #define LCM_REASON_INV_RSET_TYPE        25   /* Inv. type  of rset type */
1818 #define LCM_REASON_INV_RSET_QUAL        26   /* Inv. qual. of rset type*/
1819 #define LCM_REASON_INV_INTERFACE        27   /* Inv. Dist. Fn interface */
1820 #define LCM_REASON_INV_DIST_TYPE        28   /* Inv. type  of dist type*/
1821 #define LCM_REASON_INV_DIST_QUAL        29   /* Inv. qual. of dist type*/
1822 #define LCM_REASON_NAK_RCVD             30   /* Got a nak failure */
1823 #define LCM_REASON_TIMEOUT              31   /* Got a timeout failure  */
1824 #define LCM_REASON_PURE_FTHA            32   /* A req for Dist FTHA is recv 
1825                                               * by a Pure FTHA mod */
1826 #define LCM_REASON_DIST_FTHA            33   /* A req for Pure FTHA is recv 
1827                                               * by a Dist FTHA mod */
1828 #define LCM_REASON_INV_KEY              34   /* Invalid key */
1829 #define LCM_REASON_SW_INCOMP            35   /* enable node fail reason because
1830                                               * of software interface version
1831                                               * incompatability */
1832 #define LCM_REASON_VERSION_MISMATCH     36   /* interface version mismatch */
1833 #define LCM_REASON_SWVER_NAVAIL         37   /* interface version not found */
1834 #define LCM_REASON_INVALID_RTENT        38   /* invalid routing entery */
1835 /* gen_h_001.main_121 - Added LCM_REASONS for reconfiguration of PC at SCCP */
1836 #define LCM_REASON_MAXSPC_EXCEEDING     39   /* maximum configured SPC's exceeding */
1837 #define LCM_REASON_WRONG_DEFAULT_SPC    40   /* wrong default spc rcvd in cntrl req */
1838 #define LCM_REASON_SPC_EXISTS           41   /* spc already exists in the network */
1839 #define LCM_REASON_MINSPC_REACHED       42   /* network is already reached MINSPC */
1840 #define LCM_REASON_MORE_SPC_THAN_CONFIGURED   43  /* control request has got more spcs that configured in the network */
1841 #define LCM_REASON_DFL_SPC_DEL_NOT_ALLOWED    44  /* control request has got default spcs that configured in the network */
1842 #define LCM_REASON_NOTHING_TO_DELETE    45   /* control request has got zero spcs to delete */
1843 #define LCM_REASON_SPC_ALREADY_DELETED  46   /* spc's are already deleted */
1844
1845 #define LCM_REASON_LYR_SPECIFIC         256   /* protocol specific reasons */
1846
1847 /* gen_h_001.main_125- Addition - SUA support*/
1848 #define LCM_REASON_ASP_CONFIG          47   /* ASP Configuration Error */
1849 /* gen_h_001.main_142:Added new error type*/
1850 #define LCM_REASON_ULLOCK_INIT_FAILED  48   /* UL Lock creation Error */
1851
1852 /* category */
1853 #define LCM_CATEGORY_PROTOCOL           1     /* protocol related */
1854 #define LCM_CATEGORY_INTERFACE          2     /* interface related */
1855 #define LCM_CATEGORY_INTERNAL           3     /* internal errors */
1856 #define LCM_CATEGORY_RESOURCE           4     /* system resources  */
1857 #define LCM_CATEGORY_PSF_FTHA           5     /* PSF-Fault tolernace High Av.*/
1858 #define LCM_CATEGORY_PERF_MONIT         6     /* SCCP Error performance */
1859 /*gen_h_001.main_137:moved category of states of DNS records to lso.h*/
1860
1861 #define LCM_CATEGORY_LYR_SPECIFIC       256   /* protocol specific category */
1862
1863 /* events */
1864 #define LCM_EVENT_UI_INV_EVT            1   /* upper interface invalid event */
1865 #define LCM_EVENT_LI_INV_EVT            2   /* lower interface invalid event */
1866 #define LCM_EVENT_PI_INV_EVT            3   /* peer interface invalid event */
1867 #define LCM_EVENT_INV_EVT               4   /* general invalid event */
1868 #define LCM_EVENT_INV_STATE             5   /* invalid internal state */
1869 #define LCM_EVENT_INV_TMR_EVT           6   /* invalid timer event */
1870 #define LCM_EVENT_MI_INV_EVT            7   /* mngmnt interface invalid event */
1871 #define LCM_EVENT_BND_FAIL              8   /* Bind failure */
1872 #define LCM_EVENT_NAK                   9   /* destination naked a request */
1873 #define LCM_EVENT_TIMEOUT               10  /* timeout when waiting for reply */
1874 #define LCM_EVENT_BND_OK                11  /* bind ok  */
1875 #define LCM_EVENT_SMEM_ALLOC_FAIL       12  /* static memory alloc fail */
1876 #define LCM_EVENT_DMEM_ALLOC_FAIL       13  /* Dynamic mmemory alloc fail */
1877 /*Alarms for distributed FTHA environment*/
1878 #define LCM_EVENT_SEQERR                14  /* seq error (standby) */
1879 #define LCM_EVENT_OOM                   15  /* board mem threshold exceeded */
1880 #define LCM_EVENT_UPDMSG_ERR            16  /* update message decode error */
1881 #define LCM_EVENT_HTBT_EXP              17  /* Heartbeat timer expiry */
1882 #define LCM_EVENT_TRANSLATION_FAILURE   18  /* primitive translation failure */
1883 /*gen_h_001.main_137:Moved Events for alarm indication at various Dns Events to lso.h*/
1884
1885 #define LCM_EVENT_LYR_SPECIFIC          256   /* protocol specific events */
1886
1887 /* causes */
1888 #define LCM_CAUSE_UNKNOWN               0     /* unknown cause - not filled */
1889 #define LCM_CAUSE_OUT_OF_RANGE          1     /* out of range */
1890 #define LCM_CAUSE_INV_SAP               2     /* NULL/unknown sap */
1891 #define LCM_CAUSE_INV_SPID              3     /* invalid service provider */
1892 #define LCM_CAUSE_INV_SUID              4     /* invalid service user */
1893 #define LCM_CAUSE_INV_NETWORK_MSG       5     /* invalid network message */
1894 #define LCM_CAUSE_DECODE_ERR            6     /* message decoding problem */
1895 #define LCM_CAUSE_USER_INITIATED        7     /* user initiated */
1896 #define LCM_CAUSE_MGMT_INITIATED        8     /* mgmt initiated */
1897 #define LCM_CAUSE_INV_STATE             9     /* Invalid state */
1898 #define LCM_CAUSE_TMR_EXPIRED           10    /* Invalid state */
1899 #define LCM_CAUSE_INV_MSG_LENGTH        11    /* Invalid state */
1900 #define LCM_CAUSE_PROT_NOT_ACTIVE       12    /* protocol layer not active */
1901 #define LCM_CAUSE_INV_PAR_VAL           13    /* invalid parameter value */
1902 #define LCM_CAUSE_NEG_CFM               14    /* negative confirmation */
1903 #define LCM_CAUSE_MEM_ALLOC_FAIL        15    /* memory allocation failure */
1904 #define LCM_CAUSE_HASH_FAIL             16    /* hashing failure */
1905 #define LCM_CAUSE_VERSION_MISMATCH      17    /* interface version mismatch */
1906 #define LCM_CAUSE_SWVER_NAVAIL          18    /* intf ver not found */
1907 #define LCM_CAUSE_DLGFAIL_DUETO_RECOVERY 19   /* dialogue has failed dur to recovery */
1908 #define LCM_CAUSE_INV_ACTION            20    /* Invalid Control Action */
1909 /* gen_h_001.main_129  - defined new cause */
1910 #define LCM_CAUSE_NETWK_INITIATED       21    /* user initiated */
1911 #define LCM_CAUSE_LYR_SPECIFIC          256   /* protocol specific causes */
1912
1913 /* Interface identifier names for rolling upgrade. Each of the product *
1914  * interface is given a unique number */
1915 /* Layer management interface identifiers */
1916 #define LMSIF   1     /* MOS stack manager interface ID */
1917 #define LNSIF   2     /* NTSS stack manager interface ID */
1918 #define LRYIF   3     /* relay stack manager interface ID */
1919 #define LAMIF   4     /* Q.93B stack manager interface ID */
1920 #define LASIF   5     /* Q.SAAL stack manager interface ID */
1921 #define LPNIF   6     /* PNNI stack manager interface ID */
1922 #define LACIF   7     /* AC stack manager interface ID */
1923 #define LECIF   8     /* LEC stack manager interface ID */
1924 #define LESIF   9     /* LE Services stack manager interface ID */
1925 #define LUMIF   10    /* UME stack manager interface ID */
1926 #define LIMIF   11    /* IME stack manager interface ID */
1927 #define LSAIF   12    /* Q.2140 stack manager interface ID */
1928 #define LSEIF   13    /* SE stack manager interface ID */
1929 #define LISIF   14    /* IS stack manager interface ID */
1930 #define LQIIF   15    /* QI stack manager interface ID */
1931 #define LPQIF   16    /* PQ stack manager interface ID */
1932 #define LSDIF   17    /* MTP-2 stack manager interface ID */
1933 #define LSNIF   18    /* MTP-3 stack manager interface ID */
1934 #define LSPIF   19    /* SCCP  stack manager interface ID */
1935 #define LSTIF   20    /* TCAP  stack manager interface ID */
1936 #define LIEIF   21    /* INAP  stack manager interface ID */
1937 #define LQCIF   22    /* CAP   stack manager interface ID */
1938 #define LTTIF   23    /* TCAP over TCP/IP stack manager interface ID */
1939 #define LMAIF   24    /* MAP  stack manager interface ID */
1940 #define LSIIF   25    /* ISUP  stack manager interface ID */
1941 #define LTPIF   26    /* TUP  stack manager interface ID */
1942 #define LSRIF   27    /* MTP-3 Simple Router stack manager interface ID */
1943 #define LINIF   28    /* Q.930/Q.931 stack manager interface ID */
1944 #define LXNIF   29    /* network layer - XG, EI, XI, XE stack manager interface ID */
1945 #define LBDIF   30    /* data link layer- ER, BR, BD, LD, LB stack manager interface ID */
1946 #define LAPIF   31    /* APAD stack manager interface ID */
1947 #define LFRIF   32    /* Frame Relay stack manager interface ID */
1948 #define LMEIF   33    /* data link layer - message exchange stack manager interface ID */
1949 #define LWDIF   34    /* MTP-2 Wrapper stack manager interface ID */
1950 #define LWNIF   35    /* MTP-3 Wrapper stack manager interface ID */
1951 #define LWIIF   36    /* ISUP Wrapper stack manager interface ID */
1952 #define LWUIF   37    /* TUP Wrapper stack manager interface ID */
1953 #define LWSIF   38    /* SCCP Wrapper stack manager interface ID */
1954 #define LWCIF   39    /* TCAP Wrapper stack manager interface ID */
1955 #define LBIIF   40    /* B-ISUP  stack manager interface ID */
1956 #define LFMIF   41    /* fault manager stack manager interface ID */
1957 #define LFNIF   42    /* Q933 stack manager interface ID */
1958 #define LEVIF   43    /* V5 Envelope Function stack manager interface ID */
1959 #define LLVIF   44    /* LAPV stack manager interface ID */
1960 #define LNVIF   45    /* V5.1 PSTN stack manager interface ID */
1961 #define LVFIF   46    /* VF Layer stack manager interface ID */
1962 #define LIXIF   47    /* X.31 stack manager interface ID */
1963 #define LFAIF   48    /* Fujitsu ALC/NTC/ATC  driver stack manager interface ID */
1964 #define LPLIF   49    /* PMC Sierra LASAR driver stack manager interface ID */
1965 #define LAFIF   50    /* FR-ATM interworking stack manager interface ID */
1966 #define LCVIF   51    /* V5.X Control Protocol stack manager interface ID */
1967 #define LMVIF   52    /* V5.X System Manager stack manager interface ID */
1968 #define LBVIF   53    /* V5.X BCC Protocol stack manager interface ID */
1969 #define LLKIF   54    /* V5.2 Link stack manager interface ID */
1970 #define LPVIF   55    /* V5.X Protection Protocol stack manager interface ID */
1971 #define LCCIF   56    /* CC  stack manager interface ID */
1972 #define LZCIF   57    /* ZC  stack manager interface ID */
1973 #define LRMIF   58    /* RM  stack manager interface ID */
1974 #define LZRIF   59    /* ZR  stack manager interface ID */
1975 #define LRTIF   60    /* RT  stack manager interface ID */
1976 #define LZSIF   61    /* ZS  stack manager interface ID */
1977 #define LSFIF   62    /* SF  stack manager interface ID */
1978 #define LXMIF   63    /* XM  stack manager interface ID */
1979 #define LBWIF   64    /* PSIF - B-ISUP stack manager interface ID */
1980 #define LIWIF   65    /* PSIF - ISUP stack manager interface ID */
1981 #define LQWIF   66    /* PSIF - ISDN stack manager interface ID */
1982 #define LAWIF   67    /* PSIF - Q.93B stack manager interface ID */
1983 #define LZTIF   68    /* PSF - TCAP stack manager interface ID */
1984 #define LDTIF   69    /* PSF - TCAP stack manager interface ID */
1985 #define LZPIF   70    /* PSF - SCCP stack manager interface ID */
1986 #define LZNIF   71    /* PSF-MTP3 (FT/HA) stack manager interface ID */
1987 #define LZIIF   72    /* PSF-ISUP (FT/HA) stack manager interface ID */
1988 #define LZQIF   73    /* PSF-ISDN (FT/HA) stack manager interface ID */
1989 #define LZMIF   74    /* PSF-Q.93B (FT/HA) stack manager interface ID */
1990 #define LSGIF   75    /* System Manager stack manager interface ID */
1991 #define LSHIF   76    /* System Agent stack manager interface ID */
1992 #define LMRIF   77    /* Message Router stack manager interface ID */
1993 #define LPRIF   78    /* MPC860SAR driver stack manager interface ID */
1994 #define LGNIF   79    /* network service stack manager interface ID */
1995 #define LGTIF   80    /* GTP stack manager interface ID */
1996 #define LGLIF   81    /* GPRS LLC stack manager interface ID */
1997 #define LGGIF   82    /* GPRS-BSSGP stack manager interface ID */
1998 #define LGSIF   83    /* SNDCP stack manager interface ID */
1999 #define LHCIF   84    /* H.323 Control stack manager interface ID */
2000 #define LHIIF   85    /* TUCL stack manager interface ID */
2001 #define LHRIF   86    /* RTP/RTCP stack manager interface ID */
2002 #define LIQIF   87    /* ISDN-Q.SAAL Convergence Layer stack manager interface ID */
2003 #define LMGIF   88    /* MGCP stack manager interface ID */
2004 #define LDNIF   89    /* MTP-3 LDF stack manager interface ID */
2005 #define LDPIF   90    /* LDF-SCCP stack manager interface ID */
2006 #define LLNIF   91    /* MPLS-LDP(+CR) stack manager interface ID */
2007 #define LPAIF   92    /* PLOA stack manager interface ID */
2008 #define LALIF   93    /* AAL2 Signaling stack manager interface ID */
2009 #define LSBIF   94    /* SCTP stack manager interface ID */
2010 #define LSOIF   95    /* SIP stack manager interface ID */
2011 #define LITIF   96    /* M3UA stack manager interface ID */
2012 #define LNFIF   97    /* M3UA-NIF stack manager interface ID */
2013 #define LIDIF   98    /* IUA stack manager interface ID */
2014 #define LNDIF   99    /* IUA-NIF stack manager interface ID */
2015 #define LSUIF   100   /* SUA stack manager interface ID */
2016 #define LNPIF   101   /* SUA-NIF stack manager interface ID */
2017 #define LRAIF   102   /* RANAP stack manager interface ID */
2018 #define LZGIF   103   /* PSF-GCP (FT/HA) stack manager interface ID */
2019 #define LDGIF   104   /* LDF-GCP stack manager interface ID */
2020 #define LRNIF   105   /* RNSAP stack manager interface ID */
2021 #define LZJIF   106   /* PSF - MAP-GSM stack manager interface ID */
2022 #define LZFIF   107   /* PSF - CAP stack manager interface ID */
2023 #define LGMIF   108   /* GMM/SM stack manager interface ID */
2024 #define LZKIF   109   /* PSF - GMM/SM stack manager interface ID */
2025 /* gen_h_001.main_122 Additions */
2026 #define LAEIF   110   /* PSF - SUA stack manager interface ID */
2027 /* gen_h_001.main_138: Added the interface version for PSF S1AP */
2028 #define LYTIF   111   /* PSF - S1AP stack manager interface ID */
2029 /* gen_h_001.main_141: Added the interface version for PSF DIAMETER */
2030 #define LJCIF   112   /* PSF - DIAMETER stack manager interface ID */
2031
2032 /* Upper and Lower interface identifiers */
2033 #define AALIF    150   /* AAL interface ID */
2034 #define ALTIF    151   /* ALT interface ID */
2035 #define AMTIF    152   /* AMT interface ID */
2036 #define APLIF    153   /* APL interface ID */
2037 #define ARIIF    154   /* ARI interface ID */
2038 #define ASDIF    155   /* ASD interface ID */
2039 #define ASIIF    156   /* ASI interface ID */
2040 #define BITIF    157   /* BIT interface ID */
2041 #define CCTIF    158   /* CCT interface ID */
2042 #define CIPIF    159   /* CIP interface ID */
2043 #define DATIF    160   /* DAT interface ID */
2044 #define ECMIF    161   /* ECM interface ID */
2045 #define EVTIF    162   /* EVT interface ID */
2046 #define FNTIF    163   /* FNT interface ID */
2047 #define FRDIF    164   /* FRD interface ID */
2048 #define GBRIF    165   /* GBR interface ID */
2049 #define GGUIF    166   /* GGU interface ID */
2050 #define GLSIF    167   /* GLS interface ID */
2051 #define GNSIF    168   /* GNS interface ID */
2052 #define GSPIF    169   /* GSP interface ID */
2053 #define HCTIF    170   /* HCT interface ID */
2054 #define HGTIF    171   /* HGT interface ID */
2055 #define HITIF    172   /* HIT interface ID */
2056 #define HRTIF    173   /* HRT interface ID */
2057 #define IATIF    174   /* IAT interface ID */
2058 #define IETIF    175   /* IET interface ID */
2059 #define IFPIF    176   /* IFP interface ID */
2060 #define INTIF    177   /* INT interface ID */
2061 #define MACIF    178   /* MAC interface ID */
2062 #define MATIF    179   /* MAT interface ID */
2063 #define MDPIF    180   /* MDP interface ID */
2064 #define MGTIF    181   /* MGT interface ID */
2065 #define MPAIF    182   /* MPA interface ID */
2066 #define MVTIF    183   /* MVT interface ID */
2067 #define NUIIF    184   /* NUI interface ID */
2068 #define NVTIF    185   /* NVT interface ID */
2069 #define PCIIF    186   /* PCI interface ID */
2070 #define PXYIF    187   /* PXY interface ID */
2071 #define RLSIF    188   /* RLS interface ID */
2072 #define RMTIF    189   /* RMT interface ID */
2073 #define RTTIF    190   /* RTT interface ID */
2074 #define RYTIF    191   /* RYT interface ID */
2075 #define SCTIF    192   /* SCT interface ID */
2076 #define SDTIF    193   /* SDT interface ID */
2077 #define SFTIF    194   /* SFT interface ID */
2078 #define SITIF    195   /* SIT interface ID */
2079 #define SNTIF    196   /* SNT interface ID */
2080 #define SPTIF    197   /* SPT interface ID */
2081 #define STUIF    198   /* STU interface ID */
2082 #define TCTIF    199   /* TCT interface ID */
2083 #define TPTIF    200   /* TPT interface ID */
2084 #define TUTIF    201   /* TUT interface ID */
2085 #define UMEIF    202   /* UME interface ID */
2086 #define VFTIF    203   /* VFT interface ID */
2087 #define WITIF    204   /* WIT interface ID */
2088 #define WNTIF    205   /* WNT interface ID */
2089 #define WUTIF    206   /* WUT interface ID */
2090 #define XMTIF    207   /* XMT interface ID */
2091 #define XNTIF    208   /* XNT interface ID */
2092 #define RPTIF    209   /* RPT interface ID */
2093 #define RNTIF    210   /* RNT interface ID */
2094 #define CAPIF    211   /* CAP interface ID */
2095 #define LFPIF    212   /* LFP interface ID */
2096 #define FPUIF    213   /* FPU interface ID */
2097 #define CMKIF    214   /* CMK interface ID */
2098 #define MKUIF    215   /* MKU interface ID */
2099 #define PHUIF    216   /* PHU interface ID */
2100 #define GMUIF    212   /* GMU interface ID */
2101 /* gen_h_001.main_138: Added the interface version for SZT */
2102 #define SZTIF    213   /* SZT interface ID */
2103 /* gen_h_001.main_140: Added the interface version for AQU */
2104 #define AQUIF    214   /* AQU interface ID */
2105
2106 /* peer interface identifiers */
2107 #define SGPIF   250     /* System manager peer interface ID */
2108 #define SHPIF   251     /* System agent peer interface ID   */
2109 #define MRPIF   252     /* Message router peer interface ID */
2110 #define ZNPIF   253     /* MTP-3 peer interface ID          */
2111 #define ZPPIF   254     /* SCCP peer interface ID           */ 
2112 #define ZTPIF   255     /* TCAP peer interface ID           */
2113 #define ZIPIF   256     /* ISUP peer interface ID           */
2114 #define ZQPIF   257     /* Q.931 peer interface ID          */
2115 #define ZMPIF   258     /* Q.93B peer interface ID          */
2116 #define ZCPIF   259     /* ICC peer interface ID            */
2117 #define ZRPIF   260     /* ICC peer interface ID            */
2118 #define ZSPIF   261     /* RT peer interface ID             */
2119 #define ZAPIF   262     /* RANAP peer interface ID          */
2120 #define ZGPIF   263     /* MGCP peer interface ID           */ 
2121 #define ZBPIF   264     /* GTP peer interface ID            */
2122 #define ZVPIF   265     /* PSF-M3UA peer interface ID       */
2123 #define ZJPIF   266     /* MAP-GSM peer interface ID        */
2124 #define ZFPIF   267     /* CAP peer interface ID            */
2125 #define ZLPIF   268     /* ALCAP peer interface ID          */
2126 #define ZKPIF   269     /* PSF GMMSM peer interface ID      */
2127 /* gen_h_001.main_122 Additions */
2128 #define AEPIF   270     /* PSF SUA peer interface ID        */
2129 /* gen_h_001.main_138: Added the interface version for PSF S1AP */
2130 #define YTPIF   271     /* PSF S1AP peer interface ID       */
2131 /* gen_h_001.main_139: Added the interface version for eGTP-C PSF */
2132 #define HWPIF   272     /* eGTP-C PSF peer interface ID     */
2133 /* gen_h_001.main_141: Added the interface version for PSF DIAMETER */
2134 #define JCPIF   273     /* PSF DIAMETER peer interface ID       */
2135
2136 /* Maximum no.of interfaces a product a support on the upper/lower interface */
2137 #define MAX_INTF                 2       /* Max intf to a usr/prov */
2138
2139 /* defines for SCCP ISNI and INS routing */
2140 #define MAX_ISNI_NID     0x07      /* Maximum no. of NIDs is ISNI */
2141 #define MAX_INS_NID      0x02      /* Maximum no. of NIDs in INS */
2142
2143 \f
2144 /* defines for mode */
2145
2146 #define LOOPBACK_MODE        0       /* loopback mode */
2147 #define TESTING_MODE         1       /* testing mode */
2148 #define HARDWARE_MODE        2       /* hardware mode */
2149
2150 /* bind status */
2151 #define CM_BND_OK            1       /* bind request OK */
2152 #define CM_BND_NOK           2       /* bind request not OK */
2153
2154 /* New definition */
2155 #define CM_IPV4ADDR_TYPE      4
2156 #define CM_IPV6ADDR_TYPE      6
2157
2158 \f
2159 /* debug masks and macros */
2160
2161 #ifdef DEBUGP
2162
2163 #define DBGMASK_SI   0x00000001      /* system service interface */
2164 #define DBGMASK_MI   0x00000002      /* layer management interface */
2165 #define DBGMASK_UI   0x00000004      /* upper interface */
2166 #define DBGMASK_LI   0x00000008      /* lower interface */
2167 #define DBGMASK_PI   0x00000010      /* peer interface */
2168 #define DBGMASK_PLI  0x00000020      /* PSF's protocol layer interface */
2169
2170 #define DBGMASK_LYR  0x00000100      /* layer specific */
2171
2172 /* gen_h_001.main_132 : Guarding the Timestamp related changes in the compile time flag*/
2173 #ifdef DBG_TIMESTAMP
2174 /* gen_h_001.main_131 : Added lock related macros */
2175 #define _DBG_INIT_WRITELCK(x)  SInitLock(x, SS_LOCK_MUTEX)
2176 #define _DBG_GET_WRITELCK(x)   SLock(x)
2177 #define _DBG_REL_WRITELCK(x)   SUnlock(x)
2178 #define _DBG_DEL_WRITELCK(x)   SDestroyLock(x)
2179
2180 #define DBGPRNTBUFSIZE 80
2181
2182 /* gen_h_001.main_131 : Modified the DBGP for the timestamp*/
2183 /* gen_h_001.main_133-modified macro */
2184 /* gen_h_001.main_140 : modified macro for printing the ProcId as well
2185  * and changed sprintf to snprintf */
2186 #define DBGP(_tskInit, _layerName, _msgClass, _arg) \
2187         { \
2188            S8 _buf[DBGPRNTBUFSIZE];                    \
2189            if ((_tskInit)->dbgMask & (_msgClass)) \
2190            { \
2191               if((_tskInit)->lyrMtFlag)   \
2192               { \
2193                  _DBG_GET_WRITELCK(&((_tskInit)->dbgLock));    \
2194               } \
2195               (Void) SGetTimeStamp(_buf);     \
2196               snprintf((_tskInit)->prntBuf, PRNTSZE, \
2197                     "[%s] [%s %d:0x%x:%x] %s:%d ", _buf, _layerName, \
2198                     (_tskInit)->procId, (_tskInit)->ent, (_tskInit)->inst, \
2199                     __FILE__, __LINE__); \
2200               SPrint((_tskInit)->prntBuf); \
2201               sprintf _arg; \
2202               SPrint((_tskInit)->prntBuf); \
2203               if((_tskInit)->lyrMtFlag)   \
2204               { \
2205                  _DBG_REL_WRITELCK(&((_tskInit)->dbgLock));    \
2206               } \
2207            } \
2208        }
2209 #define DBGPN(_tskInit, _layerName, _msgClass, _arg) \
2210         { \
2211            S8 _buf[DBGPRNTBUFSIZE];                    \
2212            if ((_tskInit)->dbgMask & (_msgClass)) \
2213            { \
2214               if((_tskInit)->lyrMtFlag)   \
2215               { \
2216                  _DBG_GET_WRITELCK(&((_tskInit)->dbgLock));    \
2217               } \
2218               (Void) SGetTimeStamp(_buf);     \
2219               snprintf((_tskInit)->prntBuf, PRNTSZE, \
2220                     "[%s] [%s %d:0x%x:%x] %s:%d ", _buf, _layerName, \
2221                     (_tskInit)->procId, (_tskInit)->ent, (_tskInit)->inst, \
2222                     __FILE__, __LINE__); \
2223               SPrint((_tskInit)->prntBuf); \
2224               snprintf _arg; \
2225               SPrint((_tskInit)->prntBuf); \
2226               if((_tskInit)->lyrMtFlag)   \
2227               { \
2228                  _DBG_REL_WRITELCK(&((_tskInit)->dbgLock));    \
2229               } \
2230            } \
2231        }
2232            
2233 #else
2234 #define DBGP(_tskInit, _layerName, _msgClass, _arg) \
2235         { \
2236            if ((_tskInit)->dbgMask & (_msgClass)) \
2237            { \
2238               snprintf((_tskInit)->prntBuf, PRNTSZE, "[%s %d:0x%x:%x] %s:%d ", \
2239                     _layerName, (_tskInit)->procId, (_tskInit)->ent, \
2240                     (_tskInit)->inst,  __FILE__, __LINE__); \
2241               SPrint((_tskInit)->prntBuf); \
2242               sprintf _arg; \
2243               SPrint((_tskInit)->prntBuf); \
2244            } \
2245         }
2246 #define DBGPN(_tskInit, _layerName, _msgClass, _arg) \
2247         { \
2248            if ((_tskInit)->dbgMask & (_msgClass)) \
2249            { \
2250               snprintf((_tskInit)->prntBuf, PRNTSZE, "[%s %d:0x%x:%x] %s:%d ", \
2251                     _layerName, (_tskInit)->procId, (_tskInit)->ent, \
2252                     (_tskInit)->inst,  __FILE__, __LINE__); \
2253               SPrint((_tskInit)->prntBuf); \
2254               snprintf _arg; \
2255               SPrint((_tskInit)->prntBuf); \
2256            } \
2257         }
2258
2259 #endif
2260 #else
2261
2262 #define DBGP(_tskInit, _layerName, _msgClass, _arg)
2263 #define DBGPN(_tskInit, _layerName, _msgClass, _arg)
2264
2265 #endif /* DEBUGP */
2266
2267 \f
2268 /* gen_h_001.main_126 : Added Circular Buffer */
2269
2270 /*************************   CIRCULAR BUFFER   ************************/
2271 /*
2272  * Circular Buffer implementation provides two macro's 
2273  *
2274  *      1. CBUF_INIT  --> To initialize the Circular Bufffer
2275  *      2. CBUF_WRITE --> To log data into the circular Buffer
2276  *
2277  * Usage:
2278  *      1. CBUF_INIT must be called from the product's initialization
2279  *         function, prior to using the maro CBUF_WRITE. 
2280  *
2281  *      2. CBUF_WRITE takes variable number of arguments
2282  *
2283  *      3. Enable the flag "CBUF_ENABLE"
2284  *
2285  * Note:
2286  *      1. structure "cBuffer" is defined in gen.x
2287  *      2. The structure cBuffer is added in "TskInit" under the flag
2288  *         "CBUF_ENABLE"
2289
2290  *
2291  * Limitation:
2292  *      1. CBUF_WRITE can take a maximum of 255 characters, which is the
2293  *         value of the define PRNTSZE (defined in ssi.h)
2294  *
2295  * CBUF_INIT:
2296  *         This macro, allocates the memory to the circular Buffer and 
2297  *         initializes the memory region with zeroes.
2298  *
2299  *         E.g. CBUF_INIT(xxInit,100);
2300  *         where xxCb is the task initialisation structure,
2301  *         100 - is the size of the circular buffer (bytes)
2302  *
2303  * CBUF_WRITE:
2304  *         This Macro, writes the data into circular buffer. Once the
2305  *         end of the buffer is reached, it starts again from the beggining 
2306  *         of the circular Buffer.
2307  *
2308  *         E.g. CBUF_WRITE(xxInit.cBuf,(xxInit.cBuf.tmpBuf,"%d |",10));
2309  *         where xxInit is the task initialisation structure
2310  *         cBuf is the circular buffer's control structure
2311  *         tmpBuf is the temporary buffer declared inside "cBuffer"
2312  *
2313  *         It is suggested to use a delimiter with every CBUF_WRITE. In this
2314  *         example "|" is the delimiter, which will be helpful in analyzing
2315  *         the circular buffer contents.
2316  *
2317  * CBUF_PRINT:
2318  *         This macro is used internally by the macro CBUF_WRITE. If the flag
2319  *         CBUF_DISPLAY is defined, then this macro is defined to SPrint. Else
2320  *         it does nothing.
2321  *
2322  */      
2323
2324 #ifdef CBUF_ENABLE
2325
2326 #define CBUFPRNTSZE 255
2327 #ifdef CBUF_DISPLAY
2328 #define CBUF_PRINT(cBufPtr) SPrint(cBufPtr)
2329 #else
2330 #define CBUF_PRINT(cBufPtr)
2331 #endif
2332
2333 #define CBUF_INIT(_class,size)                                        \
2334 {                                                                     \
2335    SGetSBuf((_class).region,(_class).pool,                  \
2336          &(_class).cBuf.cBufPtr,size);                                \
2337    (_class).cBuf.cBufSize = size;                                     \
2338    (_class).cBuf.cBufIdx = 0;                                          \
2339    memset((_class).cBuf.cBufPtr,'|',size);                      \
2340 }
2341
2342 #define CBUF_WRITE(_class,_argList)                                   \
2343 {                                                                     \
2344    S32 tmpLen = 0;                                                    \
2345    uint32_t idx;                                                            \
2346    tmpLen = sprintf _argList;                                         \
2347    if(CBUFPRNTSZE >= tmpLen)                                              \
2348    {                                                                  \
2349       for(idx = 0; idx < tmpLen; idx++)                               \
2350       {                                                               \
2351          (_class).cBufIdx = (_class).cBufIdx % (_class).cBufSize;     \
2352          (_class).cBufPtr[(_class).cBufIdx++] = (_class).tmpBuf[idx]; \
2353       }                                                               \
2354    }                                                                  \
2355    CBUF_PRINT((_class).tmpBuf);                                       \
2356 }
2357
2358 #define CBUF_DATA_PRINT(_class)                                       \
2359 {                                                                     \
2360     S8 *tmpBuf = NULLP ;\
2361     uint32_t cBufIdx;                                                             \
2362     uint32_t tmpIdx=0;                                                           \
2363     SGetSBuf((_class).region,(_class).pool,                  \
2364          (uint8_t **)&tmpBuf,(_class).cBuf.cBufSize);                                \
2365     memset(tmpBuf,0,(_class).cBuf.cBufSize);                      \
2366     for(cBufIdx = (_class).cBuf.cBufIdx; cBufIdx < (_class).cBuf.cBufSize; cBufIdx++)            \
2367     {                                                                 \
2368        tmpBuf[tmpIdx++] = (_class).cBuf.cBufPtr[cBufIdx];                             \
2369        tmpIdx = tmpIdx % ((_class).cBuf.cBufSize); \
2370     }                                                                 \
2371     for(cBufIdx=0;cBufIdx < (_class).cBuf.cBufIdx;cBufIdx++)                             \
2372     {                                                                 \
2373        tmpBuf[tmpIdx++] = (_class).cBuf.cBufPtr[cBufIdx];                             \
2374        tmpIdx = tmpIdx % ((_class).cBuf.cBufSize); \
2375     }                                                                 \
2376    SPrint(tmpBuf); \
2377    SPutSBuf((_class).region,(_class).pool,                            \
2378          (uint8_t *)tmpBuf,(_class).cBuf.cBufSize);                        \
2379 }
2380 #else
2381
2382 #define CBUF_INIT(_class,size)
2383 #define CBUF_WRITE(_class,_argList)
2384 #define CBUF_DATA_PRINT(_class)
2385 #endif /* CBUF_ENABLE */
2386
2387 \f  
2388
2389 #ifdef CMFILE_REORG_1
2390
2391 /* defines */
2392
2393 /* packing macros */
2394
2395 /* system services typedefs */
2396
2397 #define oduPackBool(x, mBuf)    oduUnpackUInt8(x, mBuf)       /* pack Bool */
2398 #define cmPkStatus(x, mBuf)     SPkS16(x, mBuf)      /* pack Status */
2399 #define cmPkTicks(x, mBuf)      oduUnpackUInt32(x, mBuf)      /* pack Ticks */
2400 #define cmPkQLen(x, mBuf)       SPkS16(x, mBuf)      /* pack QLen */
2401 #define cmPkOrder(x, mBuf)      SPkS16(x, mBuf)      /* pack Order */
2402 #define cmPkData(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Data */
2403 #define cmPkRandom(x, mBuf)     oduUnpackUInt16(x, mBuf)      /* pack Random */
2404 #define cmPkSeq(x, mBuf)        SPkS16(x, mBuf)      /* pack Seq */
2405 #define cmPkReason(x, mBuf)     SPkS16(x, mBuf)      /* pack Reason */
2406 #define cmPkProcId(x, mBuf)     oduUnpackUInt16(x, mBuf)      /* pack ProcId */
2407 #define cmPkVectNmb(x, mBuf)    SPkS16(x, mBuf)      /* pack VectNmb */
2408 #define cmPkPrior(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack Prior*/
2409 #define cmPkPriority(x, mBuf)   cmPkPrior(x, mBuf)   /* pack Priority */
2410 #define cmPkRoute(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack Route */
2411 #define cmPkTtype(x, mBuf)      SPkS16(x, mBuf)      /* pack Ttype */
2412 #define cmPkSema(x, mBuf)       SPkS8(x, mBuf)       /* pack Sema */
2413 #define cmPkTxt(x, mBuf)        SPkS8(x, mBuf)       /* pack Txt */
2414 #define cmPkEnt(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Ent */
2415 #define cmPkInst(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Inst */
2416 #define cmPkElmnt(x, mBuf)      SPkS16(x, mBuf)      /* pack Elmnt */
2417 #define cmPkElmntInst1(x, mBuf) SPkS16(x, mBuf)      /* pack ElmntInst1 */
2418 #define cmPkElmntInst2(x, mBuf) SPkS16(x, mBuf)      /* pack ElmntInst2 */
2419 #define cmPkElmntInst3(x, mBuf) SPkS16(x, mBuf)      /* pack ElmntInst3 */
2420 #define cmPkRegion(x, mBuf)     oduUnpackUInt8(x, mBuf)       /* pack Region */
2421 #define cmPkPool(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Pool */
2422 #ifdef LONG_MSG
2423 #define cmPkMsgLen(x, mBuf)     SPkS32(x, mBuf)      /* pack MsgLen */
2424 #else
2425 #define cmPkMsgLen(x, mBuf)     SPkS16(x, mBuf)      /* pack MsgLen */
2426 #endif
2427 #ifdef DOS
2428 #define cmPkSize(x, mBuf)       oduUnpackUInt16(x, mBuf)      /* pack Size */
2429 #else
2430 #define cmPkSize(x, mBuf)       oduUnpackUInt32(x, mBuf)      /* pack Size */
2431 #endif /* DOS */
2432
2433 /* general typedefs */
2434
2435 #define cmPkSelector(x, mBuf)   oduUnpackUInt8(x, mBuf)       /* pack Selector */
2436 #define cmPkEvent(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack Event */
2437 #define cmPkCntr(x, mBuf)       SPkS32(x, mBuf)      /* pack Cntr */
2438 #define cmPkStsCntr(x, mBuf)    oduUnpackUInt32(x, mBuf)      /* pack StsCntr */
2439 #define cmPkLnkNmb(x, mBuf)     SPkS16(x, mBuf)      /* pack LnkNmb */
2440 #define cmPkSuId(x, mBuf)       SPkS16(x, mBuf)      /* pack SuId */
2441 #define cmPkSpId(x, mBuf)       SPkS16(x, mBuf)      /* pack SpId */
2442 #define cmPkSuInstId(x, mBuf)   SPkS16(x, mBuf)      /* pack SuInstId */
2443 #define cmPkSpInstId(x, mBuf)   SPkS16(x, mBuf)      /* pack SpInstId */
2444 #define cmPkSapi(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Sapi */
2445 #define cmPkTei(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Tei */
2446 #define cmPkchNo(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Channel Number */
2447 #define cmPkCes(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Ces */
2448 #define cmPkDlci(x, mBuf)       oduUnpackUInt32(x, mBuf)      /* pack Dlci */
2449 #define cmPkCalRef(x, mBuf)     oduUnpackUInt16(x, mBuf)      /* pack CalRef */
2450 #define cmPkOrigin(x, mBuf)     SPkS16(x, mBuf)      /* pack Origin */
2451 #define cmPkNwId(x, mBuf)       oduUnpackUInt16(x, mBuf)      /* pack NwId */
2452 #define cmPkSwtch(x, mBuf)      SPkS16(x, mBuf)      /* pack Swtch */
2453 #define cmPkCause(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack Cause */
2454 #define cmPkDgn(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Dgn */
2455 #define cmPkAction(x, mBuf)     SPkS16(x, mBuf)      /* pack Action */
2456 #define cmPkSeqS16(x, mBuf)     SPkS16(x, mBuf)      /* pack SeqS16 */
2457 #define cmPkSeqUInt16(x, mBuf)  oduUnpackUInt16(x, mBuf)      /* pack SeqUInt16 */
2458 #define cmPkSeqS24(x, mBuf)     SPkS32(x, mBuf)      /* pack SeqS24 */
2459 #define cmPkSeqUInt24(x, mBuf)  oduUnpackUInt32(x, mBuf)      /* pack SeqUInt24 */
2460 #define cmPkSetUpArb(x, mBuf)   oduUnpackUInt8(x, mBuf)       /* pack SetUpArb */
2461 #define cmPkEvntType(x, mBuf)   oduUnpackUInt8(x, mBuf)       /* pack EvntType */
2462 #define cmPkState(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack State */
2463 #define cmPkMode(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Mode */
2464 #define cmPkConnId(x, mBuf)     SPkS32(x, mBuf)      /* pack ConnId */
2465 #define cmPkUConnId(x, mBuf)    oduUnpackUInt32(x, mBuf)      /* pack unsigned ConnId */
2466 #define cmPkMibOpCode(x, mBuf)  oduUnpackUInt16(x, mBuf)      /* pack mib opCode*/
2467 #define cmPkMibStatus(x, mBuf)  oduUnpackUInt16(x, mBuf)      /* Pack mib cfm status*/
2468 #define cmPkMibTblType(x, mBuf) oduUnpackUInt16(x, mBuf)      /* Pack mib table type */
2469 #define cmPkMibReqId(x, mBuf)   SPkS32(x, mBuf)      /* Pack mib request Id */
2470 #define cmPkProfileId(x, mBuf)  oduUnpackUInt8(x, mBuf)       /* Pack HCC Profile Id */
2471 #define cmPkIntfId(x, mBuf)     oduUnpackUInt16(x, mBuf)      /* Pack intf id  */
2472 #define cmPkIntfVer(x, mBuf)    oduUnpackUInt16(x, mBuf)      /* Pack intf ver */
2473 #define cmPkuaType(x, mBuf)     oduUnpackUInt8(x, mBuf)      /* Pack uaType */
2474 /* scc specific typedefs */
2475
2476 #define cmPkBaud(x, mBuf)           SPkS16(x, mBuf)  /* pack Baud */
2477 #define cmPkPhysIntType(x, mBuf)    SPkS16(x, mBuf)  /* pack PhysIntType */
2478 #define cmPkPathConnType(x, mBuf)   SPkS16(x, mBuf)  /* pack PathConnType */
2479 #define cmPkParity(x, mBuf)         SPkS16(x, mBuf)  /* pack Parity */
2480 #define cmPkCharLength(x, mBuf)     SPkS16(x, mBuf)  /* pack CharLength */
2481 #define cmPkStopBits(x, mBuf)       SPkS16(x, mBuf)  /* pack StopBits */
2482
2483 /* tcp/ip specific typedefs */
2484
2485 #define cmPkIpAddr(x, mBuf)     oduUnpackUInt32(x, mBuf)      /* pack IpAddr */
2486 #define cmPkPort(x, mBuf)       oduUnpackUInt16(x, mBuf)      /* pack Port */
2487 #define cmPkCmd(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Cmd */
2488 #define cmPkFlags(x, mBuf)      oduUnpackUInt8(x, mBuf)       /* pack Flags */
2489 #define cmPkTtl(x, mBuf)        oduUnpackUInt8(x, mBuf)       /* pack Ttl */
2490 #define cmPkPrec(x, mBuf)       oduUnpackUInt8(x, mBuf)       /* pack Prec */
2491 #define cmPkWindow(x, mBuf)     oduUnpackUInt32(x, mBuf)      /* pack Window */
2492
2493 /* LLC/SNAP specific defines */
2494
2495 #define cmPkOui(x, mBuf)        oduUnpackUInt32(x, mBuf)       /* pack Oui */
2496 #define cmPkPid(x, mBuf)        oduUnpackUInt16(x, mBuf)       /* pack Pid */
2497 #define cmPkLlcId(x, mBuf)      oduUnpackUInt32(x, mBuf)       /* pack LLcId */
2498
2499 \f
2500 /* unpacking macros */
2501
2502 /* system services typedefs */
2503
2504 #define oduUnpackBool(x, mBuf)    oduPackUInt8(x, mBuf)     /* unpack Bool */
2505 #define cmUnpkStatus(x, mBuf)     SUnpkS16(x, mBuf)    /* unpack Status */
2506 #define cmUnpkTicks(x, mBuf)      oduPackUInt32(x, mBuf)    /* unpack Ticks */
2507 #define cmUnpkQLen(x, mBuf)       SUnpkS16(x, mBuf)    /* unpack QLen */
2508 #define cmUnpkOrder(x, mBuf)      SUnpkS16(x, mBuf)    /* unpack Order */
2509 #define cmUnpkData(x, mBuf)       oduPackUInt8(x, mBuf)     /* unpack Data */
2510 #define cmUnpkRandom(x, mBuf)     oduPackUInt16(x, mBuf)    /* unpack Random */
2511 #define cmUnpkSeq(x, mBuf)        SUnpkS16(x, mBuf)    /* unpack Seq */
2512 #define cmUnpkReason(x, mBuf)     SUnpkS16(x, mBuf)    /* unpack Reason */
2513 #define cmUnpkProcId(x, mBuf)     oduPackUInt16(x, mBuf)    /* unpack ProcId */
2514 #define cmUnpkVectNmb(x, mBuf)    SUnpkS16(x, mBuf)    /* unpack VectNmb */
2515 #define cmUnpkPrior(x, mBuf)      oduPackUInt8(x, mBuf)     /* unpack Prior */
2516 #define cmUnpkPriority(x, mBuf)   cmUnpkPrior(x, mBuf) /* unpack Priority */
2517 #define cmUnpkRoute(x, mBuf)      oduPackUInt8(x, mBuf)     /* unpack Route */
2518 #define cmUnpkTtype(x, mBuf)      SUnpkS16(x, mBuf)    /* unpack Ttype */
2519 #define cmUnpkSema(x, mBuf)       SUnpkS8(x, mBuf)     /* unpack Sema */
2520 #define cmUnpkTxt(x, mBuf)        SUnpkS8(x, mBuf)     /* unpack Txt */
2521 #define cmUnpkEnt(x, mBuf)        oduPackUInt8(x, mBuf)     /* unpack Ent */
2522 #define cmUnpkInst(x, mBuf)       oduPackUInt8(x, mBuf)     /* unpack Inst */
2523 #define cmUnpkElmnt(x, mBuf)      SUnpkS16(x, mBuf)    /* unpack Elmnt */
2524 #define cmUnpkElmntInst1(x, mBuf) SUnpkS16(x, mBuf)    /* unpack ElmntInst1 */
2525 #define cmUnpkElmntInst2(x, mBuf) SUnpkS16(x, mBuf)    /* unpack ElmntInst2 */
2526 #define cmUnpkElmntInst3(x, mBuf) SUnpkS16(x, mBuf)    /* unpack ElmntInst3 */
2527 #define cmUnpkRegion(x, mBuf)     oduPackUInt8(x, mBuf)     /* unpack Region */
2528 #define cmUnpkPool(x, mBuf)       oduPackUInt8(x, mBuf)     /* unpack Pool */
2529 #ifdef LONG_MSG
2530 #define cmUnpkMsgLen(x, mBuf)     SUnpkS32(x, mBuf)    /* unpack MsgLen */
2531 #else
2532 #define cmUnpkMsgLen(x, mBuf)     SUnpkS16(x, mBuf)    /* unpack MsgLen */
2533 #endif
2534 #ifdef DOS
2535 #define cmUnpkSize(x, mBuf)       oduPackUInt16(x, mBuf)    /* unpack Size */
2536 #else
2537 #define cmUnpkSize(x, mBuf)       oduPackUInt32(x, mBuf)    /* unpack Size */
2538 #endif /* DOS */
2539
2540 /* general typedefs */
2541
2542 #define cmUnpkSelector(x, mBuf)   oduPackUInt8(x, mBuf)   /* unpack Selector */
2543 #define cmUnpkEvent(x, mBuf)      oduPackUInt8(x, mBuf)   /* unpack Event */
2544 #define cmUnpkCntr(x, mBuf)       SUnpkS32(x, mBuf)  /* unpack Cntr */
2545 #define cmUnpkStsCntr(x, mBuf)    oduPackUInt32(x, mBuf)  /* unpack StsCntr */
2546 #define cmUnpkLnkNmb(x, mBuf)     SUnpkS16(x, mBuf)  /* unpack LnkNmb */
2547 #define cmUnpkSuId(x, mBuf)       SUnpkS16(x, mBuf)  /* unpack SuId */
2548 #define cmUnpkSpId(x, mBuf)       SUnpkS16(x, mBuf)  /* unpack SpId */
2549 #define cmUnpkSuInstId(x, mBuf)   SUnpkS16(x, mBuf)  /* unpack SuInstId */
2550 #define cmUnpkSpInstId(x, mBuf)   SUnpkS16(x, mBuf)  /* unpack SpInstId */
2551 #define cmUnpkSapi(x, mBuf)       oduPackUInt8(x, mBuf)   /* unpack Sapi */
2552 #define cmUnpkTei(x, mBuf)        oduPackUInt8(x, mBuf)   /* unpack Tei */
2553 #define cmUnpkchNo(x, mBuf)       SUnpkS8(x, mBuf)   /* unpack Channel Number */
2554 #define cmUnpkCes(x, mBuf)        oduPackUInt8(x, mBuf)   /* unpack Ces */
2555 #define cmUnpkDlci(x, mBuf)       oduPackUInt32(x, mBuf)  /* unpack Dlci */
2556 #define cmUnpkCalRef(x, mBuf)     oduPackUInt16(x, mBuf)  /* unpack CalRef */
2557 #define cmUnpkOrigin(x, mBuf)     SUnpkS16(x, mBuf)  /* unpack Origin */
2558 #define cmUnpkNwId(x, mBuf)       oduPackUInt16(x, mBuf)  /* unpack NwId */
2559 #define cmUnpkSwtch(x, mBuf)      SUnpkS16(x, mBuf)  /* unpack Swtch */
2560 #define cmUnpkCause(x, mBuf)      oduPackUInt8(x, mBuf)   /* unpack Cause */
2561 #define cmUnpkDgn(x, mBuf)        oduPackUInt8(x, mBuf)   /* unpack Dgn */
2562 #define cmUnpkAction(x, mBuf)     SUnpkS16(x, mBuf)  /* unpack Action */
2563 #define cmUnpkSeqS16(x, mBuf)     SUnpkS16(x, mBuf)  /* unpack SeqS16 */
2564 #define cmUnpkSeqUInt16(x, mBuf)  oduPackUInt16(x, mBuf)  /* unpack SeqUInt16 */
2565 #define cmUnpkSeqS24(x, mBuf)     SUnpkS32(x, mBuf)  /* unpack SeqS24 */
2566 #define cmUnpkSeqUInt24(x, mBuf)  oduPackUInt32(x, mBuf)  /* unpack SeqUInt24 */
2567 #define cmUnpkSetUpArb(x, mBuf)   oduPackUInt8(x, mBuf)   /* unpack SetUpArb */
2568 #define cmUnpkEvntType(x, mBuf)   oduPackUInt8(x, mBuf)   /* unpack EvntType */
2569 #define cmUnpkState(x, mBuf)      oduPackUInt8(x, mBuf)   /* unpack State */
2570 #define cmUnpkMode(x, mBuf)       oduPackUInt8(x, mBuf)   /* unpack Mode */
2571 #define cmUnpkConnId(x, mBuf)     SUnpkS32(x, mBuf)  /* unpack ConnId */
2572 #define cmUnpkUConnId(x, mBuf)    oduPackUInt32(x, mBuf)  /* unpack uns ConnId */
2573 #define cmUnpkMibOpCode(x, mBuf)  oduPackUInt16(x, mBuf)  /* unpack mib opCode*/
2574 #define cmUnpkMibStatus(x, mBuf)  oduPackUInt16(x, mBuf)  /* unpack mib cfm status*/
2575 #define cmUnpkMibTblType(x, mBuf) oduPackUInt16(x, mBuf)  /* Pack mib table type */
2576 #define cmUnpkMibReqId(x, mBuf)   SUnpkS32(x, mBuf)  /* Pack mib request Id */
2577 #define cmUnpkProfileId(x, mBuf)  oduPackUInt8(x, mBuf)   /* Pack HCC Profile Id */
2578 #define cmUnpkIntfId(x, mBuf)     oduPackUInt16(x, mBuf)      /* unpack intf id  */
2579 #define cmUnpkIntfVer(x, mBuf)    oduPackUInt16(x, mBuf)      /* unpack intf ver */
2580 #define cmUnpkuaType(x, mBuf)     oduPackUInt8(x, mBuf)       /* Unpack uaType */
2581 /* scc specific typedefs */
2582
2583 #define cmUnpkBaud(x, mBuf)           SUnpkS16(x, mBuf)  /* unpack Baud */
2584 #define cmUnpkPhysIntType(x, mBuf)    SUnpkS16(x, mBuf)  /* unpack PhysIntType */
2585 #define cmUnpkPathConnType(x, mBuf)   SUnpkS16(x, mBuf)  /* unpack PathConnType */
2586 #define cmUnpkParity(x, mBuf)         SUnpkS16(x, mBuf)  /* unpack Parity */
2587 #define cmUnpkCharLength(x, mBuf)     SUnpkS16(x, mBuf)  /* unpack CharLength */
2588 #define cmUnpkStopBits(x, mBuf)       SUnpkS16(x, mBuf)  /* unpack StopBits */
2589
2590 /* tcp/ip specific typedefs */
2591
2592 #define cmUnpkIpAddr(x, mBuf)     oduPackUInt32(x, mBuf)      /* unpack IpAddr */
2593 #define cmUnpkPort(x, mBuf)       oduPackUInt16(x, mBuf)      /* unpack Port */
2594 #define cmUnpkCmd(x, mBuf)        oduPackUInt8(x, mBuf)       /* unpack Cmd */
2595 #define cmUnpkFlags(x, mBuf)      oduPackUInt8(x, mBuf)       /* unpack Flags */
2596 #define cmUnpkTtl(x, mBuf)        oduPackUInt8(x, mBuf)       /* unpack Ttl */
2597 #define cmUnpkPrec(x, mBuf)       oduPackUInt8(x, mBuf)       /* unpack Prec */
2598 #define cmUnpkWindow(x, mBuf)     oduPackUInt32(x, mBuf)      /* unpack Window */
2599
2600 /* LLC/SNAP specific defines */
2601
2602 #define cmUnpkOui(x, mBuf)         oduPackUInt32(x, mBuf)  /* unpack Oui */
2603 #define cmUnpkPid(x, mBuf)         oduPackUInt16(x, mBuf)  /* unpack Pid */
2604 #define cmUnpkLlcId(x, mBuf)       oduPackUInt32(x, mBuf)  /* unpack LLcId */
2605
2606 /* packing and unpacking for token strings */
2607
2608 #define CMPKTKNSTR(tknStr, mBuf)                   \
2609 {                                                  \
2610    Cntr i;                                         \
2611                                                    \
2612    if(tknStr->pres)                                \
2613    {                                               \
2614       /* Value */                                  \
2615       for (i = 0; i < (S16) tknStr->len; i++)      \
2616       {                                            \
2617          CMCHKPK(oduUnpackUInt8, tknStr->val[i], mBuf);     \
2618       }                                            \
2619                                                    \
2620       /* Length */                                 \
2621       CMCHKPK(oduUnpackUInt8, tknStr->len, mBuf);           \
2622    }                                               \
2623                                                    \
2624    /* Token Header */                              \
2625    CMCHKPK(oduUnpackUInt8, tknStr->pres, mBuf);             \
2626 }
2627
2628 #define CMUNPKTKNSTR(tknStr, mBuf)                                 \
2629 {                                                                  \
2630    Cntr i;                                                         \
2631                                                                    \
2632    /* Token Header */                                              \
2633    CMCHKUNPK(oduPackUInt8, &tknStr->pres, mBuf);                        \
2634                                                                    \
2635    if(tknStr->pres)                                                \
2636    {                                                               \
2637       /* Length */                                                 \
2638       CMCHKUNPK(oduPackUInt8, &tknStr->len, mBuf);                      \
2639                                                                    \
2640       /* Value */                                                  \
2641       for (i = 1; i <= (S16) tknStr->len; i++)                     \
2642       {                                                            \
2643          CMCHKUNPK(oduPackUInt8, &tknStr->val[tknStr->len - i], mBuf);  \
2644       }                                                            \
2645    }                                                               \
2646                                                                    \
2647 }
2648
2649 #endif /* CMFILE_REORG_1 */
2650
2651 #define cmPkTranId(x, mBuf)    oduUnpackUInt32(x, mBuf)      /* Pack transaction Id */
2652 #define cmUnpkTranId(x, mBuf)  oduPackUInt32(x, mBuf)  /* unpack transaction Id */
2653
2654 #ifdef L2_L3_SPLIT
2655 typedef struct _debugInfo
2656 {
2657    uint32_t   mBuf;
2658    uint32_t   res[8];
2659    uint32_t   count;
2660 } DebugInfo;
2661
2662 DebugInfo debugInfo;
2663 #endif
2664
2665 #endif /* __GENH__ */
2666
2667 \f  
2668 /********************************************************************30**
2669   
2670          End of file
2671 **********************************************************************/