Fix warning of Coverity Static analysis, change H225ProtocolIdentifier
[asterisk/asterisk.git] / addons / ooh323c / src / h323 / MULTIMEDIA-SYSTEM-CONTROL.h
1 /*
2  * Copyright (C) 2004-2005 by Objective Systems, Inc.
3  *
4  * This software is furnished under an open source license and may be 
5  * used and copied only in accordance with the terms of this license. 
6  * The text of the license may generally be found in the root 
7  * directory of this installation in the COPYING file.  It 
8  * can also be viewed online at the following URL:
9  *
10  *   http://www.obj-sys.com/open/license.html
11  *
12  * Any redistributions of this file including modified versions must 
13  * maintain this copyright notice.
14  *
15  *****************************************************************************/
16 /**
17  * This file was generated by the Objective Systems ASN1C Compiler
18  * (http://www.obj-sys.com).  Version: 5.72, Date: 22-Mar-2005.
19  */
20 #ifndef MULTIMEDIA_SYSTEM_CONTROL_H
21 #define MULTIMEDIA_SYSTEM_CONTROL_H
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 #include <stdio.h>
28 #include <stdlib.h>
29
30 #include "ooasn1.h"
31
32 /**************************************************************/
33 /*                                                            */
34 /*  NonStandardIdentifier_h221NonStandard                     */
35 /*                                                            */
36 /**************************************************************/
37
38 typedef struct EXTERN H245NonStandardIdentifier_h221NonStandard {
39    ASN1UINT8 t35CountryCode;
40    ASN1UINT8 t35Extension;
41    ASN1USINT manufacturerCode;
42 } H245NonStandardIdentifier_h221NonStandard;
43
44 EXTERN int asn1PE_H245NonStandardIdentifier_h221NonStandard (OOCTXT* pctxt, H245NonStandardIdentifier_h221NonStandard* pvalue);
45
46 EXTERN int asn1PD_H245NonStandardIdentifier_h221NonStandard (OOCTXT* pctxt, H245NonStandardIdentifier_h221NonStandard* pvalue);
47
48 /**************************************************************/
49 /*                                                            */
50 /*  NonStandardIdentifier                                     */
51 /*                                                            */
52 /**************************************************************/
53
54 /* Choice tag constants */
55
56 #define T_H245NonStandardIdentifier_object 1
57 #define T_H245NonStandardIdentifier_h221NonStandard 2
58
59 typedef struct EXTERN H245NonStandardIdentifier {
60    int t;
61    union {
62       /* t = 1 */
63       ASN1OBJID *object;
64       /* t = 2 */
65       H245NonStandardIdentifier_h221NonStandard *h221NonStandard;
66    } u;
67 } H245NonStandardIdentifier;
68
69 EXTERN int asn1PE_H245NonStandardIdentifier (OOCTXT* pctxt, H245NonStandardIdentifier* pvalue);
70
71 EXTERN int asn1PD_H245NonStandardIdentifier (OOCTXT* pctxt, H245NonStandardIdentifier* pvalue);
72
73 /**************************************************************/
74 /*                                                            */
75 /*  NonStandardParameter                                      */
76 /*                                                            */
77 /**************************************************************/
78
79 typedef struct EXTERN H245NonStandardParameter {
80    H245NonStandardIdentifier nonStandardIdentifier;
81    ASN1DynOctStr data;
82 } H245NonStandardParameter;
83
84 EXTERN int asn1PE_H245NonStandardParameter (OOCTXT* pctxt, H245NonStandardParameter* pvalue);
85
86 EXTERN int asn1PD_H245NonStandardParameter (OOCTXT* pctxt, H245NonStandardParameter* pvalue);
87
88 /**************************************************************/
89 /*                                                            */
90 /*  V42bis                                                    */
91 /*                                                            */
92 /**************************************************************/
93
94 typedef struct EXTERN H245V42bis {
95    ASN1UINT numberOfCodewords;
96    ASN1USINT maximumStringLength;
97 } H245V42bis;
98
99 EXTERN int asn1PE_H245V42bis (OOCTXT* pctxt, H245V42bis* pvalue);
100
101 EXTERN int asn1PD_H245V42bis (OOCTXT* pctxt, H245V42bis* pvalue);
102
103 /**************************************************************/
104 /*                                                            */
105 /*  CompressionType                                           */
106 /*                                                            */
107 /**************************************************************/
108
109 /* Choice tag constants */
110
111 #define T_H245CompressionType_v42bis    1
112 #define T_H245CompressionType_extElem1  2
113
114 typedef struct EXTERN H245CompressionType {
115    int t;
116    union {
117       /* t = 1 */
118       H245V42bis *v42bis;
119       /* t = 2 */
120    } u;
121 } H245CompressionType;
122
123 EXTERN int asn1PE_H245CompressionType (OOCTXT* pctxt, H245CompressionType* pvalue);
124
125 EXTERN int asn1PD_H245CompressionType (OOCTXT* pctxt, H245CompressionType* pvalue);
126
127 /**************************************************************/
128 /*                                                            */
129 /*  DataProtocolCapability_v76wCompression                    */
130 /*                                                            */
131 /**************************************************************/
132
133 /* Choice tag constants */
134
135 #define T_H245DataProtocolCapability_v76wCompression_transmitCompression 1
136 #define T_H245DataProtocolCapability_v76wCompression_receiveCompression 2
137 #define T_H245DataProtocolCapability_v76wCompression_transmitAndReceiveCompression 3
138 #define T_H245DataProtocolCapability_v76wCompression_extElem1 4
139
140 typedef struct EXTERN H245DataProtocolCapability_v76wCompression {
141    int t;
142    union {
143       /* t = 1 */
144       H245CompressionType *transmitCompression;
145       /* t = 2 */
146       H245CompressionType *receiveCompression;
147       /* t = 3 */
148       H245CompressionType *transmitAndReceiveCompression;
149       /* t = 4 */
150    } u;
151 } H245DataProtocolCapability_v76wCompression;
152
153 EXTERN int asn1PE_H245DataProtocolCapability_v76wCompression (OOCTXT* pctxt, H245DataProtocolCapability_v76wCompression* pvalue);
154
155 EXTERN int asn1PD_H245DataProtocolCapability_v76wCompression (OOCTXT* pctxt, H245DataProtocolCapability_v76wCompression* pvalue);
156
157 /**************************************************************/
158 /*                                                            */
159 /*  DataProtocolCapability                                    */
160 /*                                                            */
161 /**************************************************************/
162
163 /* Choice tag constants */
164
165 #define T_H245DataProtocolCapability_nonStandard 1
166 #define T_H245DataProtocolCapability_v14buffered 2
167 #define T_H245DataProtocolCapability_v42lapm 3
168 #define T_H245DataProtocolCapability_hdlcFrameTunnelling 4
169 #define T_H245DataProtocolCapability_h310SeparateVCStack 5
170 #define T_H245DataProtocolCapability_h310SingleVCStack 6
171 #define T_H245DataProtocolCapability_transparent 7
172 #define T_H245DataProtocolCapability_segmentationAndReassembly 8
173 #define T_H245DataProtocolCapability_hdlcFrameTunnelingwSAR 9
174 #define T_H245DataProtocolCapability_v120 10
175 #define T_H245DataProtocolCapability_separateLANStack 11
176 #define T_H245DataProtocolCapability_v76wCompression 12
177 #define T_H245DataProtocolCapability_tcp 13
178 #define T_H245DataProtocolCapability_udp 14
179 #define T_H245DataProtocolCapability_extElem1 15
180
181 typedef struct EXTERN H245DataProtocolCapability {
182    int t;
183    union {
184       /* t = 1 */
185       H245NonStandardParameter *nonStandard;
186       /* t = 2 */
187       /* t = 3 */
188       /* t = 4 */
189       /* t = 5 */
190       /* t = 6 */
191       /* t = 7 */
192       /* t = 8 */
193       /* t = 9 */
194       /* t = 10 */
195       /* t = 11 */
196       /* t = 12 */
197       H245DataProtocolCapability_v76wCompression *v76wCompression;
198       /* t = 13 */
199       /* t = 14 */
200       /* t = 15 */
201    } u;
202 } H245DataProtocolCapability;
203
204 EXTERN int asn1PE_H245DataProtocolCapability (OOCTXT* pctxt, H245DataProtocolCapability* pvalue);
205
206 EXTERN int asn1PD_H245DataProtocolCapability (OOCTXT* pctxt, H245DataProtocolCapability* pvalue);
207
208 /**************************************************************/
209 /*                                                            */
210 /*  T38FaxRateManagement                                      */
211 /*                                                            */
212 /**************************************************************/
213
214 /* Choice tag constants */
215
216 #define T_H245T38FaxRateManagement_localTCF 1
217 #define T_H245T38FaxRateManagement_transferredTCF 2
218 #define T_H245T38FaxRateManagement_extElem1 3
219
220 typedef struct EXTERN H245T38FaxRateManagement {
221    int t;
222 } H245T38FaxRateManagement;
223
224 EXTERN int asn1PE_H245T38FaxRateManagement (OOCTXT* pctxt, H245T38FaxRateManagement* pvalue);
225
226 EXTERN int asn1PD_H245T38FaxRateManagement (OOCTXT* pctxt, H245T38FaxRateManagement* pvalue);
227
228 /**************************************************************/
229 /*                                                            */
230 /*  T38FaxUdpOptions_t38FaxUdpEC                              */
231 /*                                                            */
232 /**************************************************************/
233
234 /* Choice tag constants */
235
236 #define T_H245T38FaxUdpOptions_t38FaxUdpEC_t38UDPFEC 1
237 #define T_H245T38FaxUdpOptions_t38FaxUdpEC_t38UDPRedundancy 2
238 #define T_H245T38FaxUdpOptions_t38FaxUdpEC_extElem1 3
239
240 typedef struct EXTERN H245T38FaxUdpOptions_t38FaxUdpEC {
241    int t;
242 } H245T38FaxUdpOptions_t38FaxUdpEC;
243
244 EXTERN int asn1PE_H245T38FaxUdpOptions_t38FaxUdpEC (OOCTXT* pctxt, H245T38FaxUdpOptions_t38FaxUdpEC* pvalue);
245
246 EXTERN int asn1PD_H245T38FaxUdpOptions_t38FaxUdpEC (OOCTXT* pctxt, H245T38FaxUdpOptions_t38FaxUdpEC* pvalue);
247
248 /**************************************************************/
249 /*                                                            */
250 /*  T38FaxUdpOptions                                          */
251 /*                                                            */
252 /**************************************************************/
253
254 typedef struct EXTERN H245T38FaxUdpOptions {
255    struct {
256       unsigned t38FaxMaxBufferPresent : 1;
257       unsigned t38FaxMaxDatagramPresent : 1;
258    } m;
259    ASN1INT t38FaxMaxBuffer;
260    ASN1INT t38FaxMaxDatagram;
261    H245T38FaxUdpOptions_t38FaxUdpEC t38FaxUdpEC;
262 } H245T38FaxUdpOptions;
263
264 EXTERN int asn1PE_H245T38FaxUdpOptions (OOCTXT* pctxt, H245T38FaxUdpOptions* pvalue);
265
266 EXTERN int asn1PD_H245T38FaxUdpOptions (OOCTXT* pctxt, H245T38FaxUdpOptions* pvalue);
267
268 /**************************************************************/
269 /*                                                            */
270 /*  T38FaxTcpOptions                                          */
271 /*                                                            */
272 /**************************************************************/
273
274 typedef struct EXTERN H245T38FaxTcpOptions {
275    ASN1BOOL t38TCPBidirectionalMode;
276 } H245T38FaxTcpOptions;
277
278 EXTERN int asn1PE_H245T38FaxTcpOptions (OOCTXT* pctxt, H245T38FaxTcpOptions* pvalue);
279
280 EXTERN int asn1PD_H245T38FaxTcpOptions (OOCTXT* pctxt, H245T38FaxTcpOptions* pvalue);
281
282 /**************************************************************/
283 /*                                                            */
284 /*  T38FaxProfile                                             */
285 /*                                                            */
286 /**************************************************************/
287
288 typedef struct EXTERN H245T38FaxProfile {
289    struct {
290       unsigned versionPresent : 1;
291       unsigned t38FaxRateManagementPresent : 1;
292       unsigned t38FaxUdpOptionsPresent : 1;
293       unsigned t38FaxTcpOptionsPresent : 1;
294    } m;
295    ASN1BOOL fillBitRemoval;
296    ASN1BOOL transcodingJBIG;
297    ASN1BOOL transcodingMMR;
298    ASN1UINT8 version;
299    H245T38FaxRateManagement t38FaxRateManagement;
300    H245T38FaxUdpOptions t38FaxUdpOptions;
301    H245T38FaxTcpOptions t38FaxTcpOptions;
302 } H245T38FaxProfile;
303
304 EXTERN int asn1PE_H245T38FaxProfile (OOCTXT* pctxt, H245T38FaxProfile* pvalue);
305
306 EXTERN int asn1PD_H245T38FaxProfile (OOCTXT* pctxt, H245T38FaxProfile* pvalue);
307
308 /**************************************************************/
309 /*                                                            */
310 /*  NonStandardMessage                                        */
311 /*                                                            */
312 /**************************************************************/
313
314 typedef struct EXTERN H245NonStandardMessage {
315    H245NonStandardParameter nonStandardData;
316 } H245NonStandardMessage;
317
318 EXTERN int asn1PE_H245NonStandardMessage (OOCTXT* pctxt, H245NonStandardMessage* pvalue);
319
320 EXTERN int asn1PD_H245NonStandardMessage (OOCTXT* pctxt, H245NonStandardMessage* pvalue);
321
322 /**************************************************************/
323 /*                                                            */
324 /*  MasterSlaveDetermination                                  */
325 /*                                                            */
326 /**************************************************************/
327
328 typedef struct EXTERN H245MasterSlaveDetermination {
329    ASN1UINT8 terminalType;
330    ASN1UINT statusDeterminationNumber;
331 } H245MasterSlaveDetermination;
332
333 EXTERN int asn1PE_H245MasterSlaveDetermination (OOCTXT* pctxt, H245MasterSlaveDetermination* pvalue);
334
335 EXTERN int asn1PD_H245MasterSlaveDetermination (OOCTXT* pctxt, H245MasterSlaveDetermination* pvalue);
336
337 /**************************************************************/
338 /*                                                            */
339 /*  SequenceNumber                                            */
340 /*                                                            */
341 /**************************************************************/
342
343 typedef ASN1UINT8 H245SequenceNumber;
344
345 EXTERN int asn1PE_H245SequenceNumber (OOCTXT* pctxt, H245SequenceNumber value);
346
347 EXTERN int asn1PD_H245SequenceNumber (OOCTXT* pctxt, H245SequenceNumber* pvalue);
348
349 /**************************************************************/
350 /*                                                            */
351 /*  VCCapability_aal1                                         */
352 /*                                                            */
353 /**************************************************************/
354
355 typedef struct EXTERN H245VCCapability_aal1 {
356    ASN1BOOL nullClockRecovery;
357    ASN1BOOL srtsClockRecovery;
358    ASN1BOOL adaptiveClockRecovery;
359    ASN1BOOL nullErrorCorrection;
360    ASN1BOOL longInterleaver;
361    ASN1BOOL shortInterleaver;
362    ASN1BOOL errorCorrectionOnly;
363    ASN1BOOL structuredDataTransfer;
364    ASN1BOOL partiallyFilledCells;
365 } H245VCCapability_aal1;
366
367 EXTERN int asn1PE_H245VCCapability_aal1 (OOCTXT* pctxt, H245VCCapability_aal1* pvalue);
368
369 EXTERN int asn1PD_H245VCCapability_aal1 (OOCTXT* pctxt, H245VCCapability_aal1* pvalue);
370
371 /**************************************************************/
372 /*                                                            */
373 /*  VCCapability_aal5                                         */
374 /*                                                            */
375 /**************************************************************/
376
377 typedef struct EXTERN H245VCCapability_aal5 {
378    ASN1USINT forwardMaximumSDUSize;
379    ASN1USINT backwardMaximumSDUSize;
380 } H245VCCapability_aal5;
381
382 EXTERN int asn1PE_H245VCCapability_aal5 (OOCTXT* pctxt, H245VCCapability_aal5* pvalue);
383
384 EXTERN int asn1PD_H245VCCapability_aal5 (OOCTXT* pctxt, H245VCCapability_aal5* pvalue);
385
386 /**************************************************************/
387 /*                                                            */
388 /*  VCCapability_availableBitRates_type_rangeOfBitRates       */
389 /*                                                            */
390 /**************************************************************/
391
392 typedef struct EXTERN H245VCCapability_availableBitRates_type_rangeOfBitRates {
393    ASN1USINT lowerBitRate;
394    ASN1USINT higherBitRate;
395 } H245VCCapability_availableBitRates_type_rangeOfBitRates;
396
397 EXTERN int asn1PE_H245VCCapability_availableBitRates_type_rangeOfBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates_type_rangeOfBitRates* pvalue);
398
399 EXTERN int asn1PD_H245VCCapability_availableBitRates_type_rangeOfBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates_type_rangeOfBitRates* pvalue);
400
401 /**************************************************************/
402 /*                                                            */
403 /*  VCCapability_availableBitRates_type                       */
404 /*                                                            */
405 /**************************************************************/
406
407 /* Choice tag constants */
408
409 #define T_H245VCCapability_availableBitRates_type_singleBitRate 1
410 #define T_H245VCCapability_availableBitRates_type_rangeOfBitRates 2
411
412 typedef struct EXTERN H245VCCapability_availableBitRates_type {
413    int t;
414    union {
415       /* t = 1 */
416       ASN1USINT singleBitRate;
417       /* t = 2 */
418       H245VCCapability_availableBitRates_type_rangeOfBitRates *rangeOfBitRates;
419    } u;
420 } H245VCCapability_availableBitRates_type;
421
422 EXTERN int asn1PE_H245VCCapability_availableBitRates_type (OOCTXT* pctxt, H245VCCapability_availableBitRates_type* pvalue);
423
424 EXTERN int asn1PD_H245VCCapability_availableBitRates_type (OOCTXT* pctxt, H245VCCapability_availableBitRates_type* pvalue);
425
426 /**************************************************************/
427 /*                                                            */
428 /*  VCCapability_availableBitRates                            */
429 /*                                                            */
430 /**************************************************************/
431
432 typedef struct EXTERN H245VCCapability_availableBitRates {
433    H245VCCapability_availableBitRates_type type;
434 } H245VCCapability_availableBitRates;
435
436 EXTERN int asn1PE_H245VCCapability_availableBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates* pvalue);
437
438 EXTERN int asn1PD_H245VCCapability_availableBitRates (OOCTXT* pctxt, H245VCCapability_availableBitRates* pvalue);
439
440 /**************************************************************/
441 /*                                                            */
442 /*  Q2931Address_address_nsapAddress                          */
443 /*                                                            */
444 /**************************************************************/
445
446 typedef struct EXTERN H245Q2931Address_address_nsapAddress {
447    ASN1UINT numocts;
448    ASN1OCTET data[20];
449 } H245Q2931Address_address_nsapAddress;
450
451 EXTERN int asn1PE_H245Q2931Address_address_nsapAddress (OOCTXT* pctxt, H245Q2931Address_address_nsapAddress* pvalue);
452
453 EXTERN int asn1PD_H245Q2931Address_address_nsapAddress (OOCTXT* pctxt, H245Q2931Address_address_nsapAddress* pvalue);
454
455 /**************************************************************/
456 /*                                                            */
457 /*  Q2931Address_address                                      */
458 /*                                                            */
459 /**************************************************************/
460
461 /* Choice tag constants */
462
463 #define T_H245Q2931Address_address_internationalNumber 1
464 #define T_H245Q2931Address_address_nsapAddress 2
465 #define T_H245Q2931Address_address_extElem1 3
466
467 typedef struct EXTERN H245Q2931Address_address {
468    int t;
469    union {
470       /* t = 1 */
471       ASN1NumericString internationalNumber;
472       /* t = 2 */
473       H245Q2931Address_address_nsapAddress *nsapAddress;
474       /* t = 3 */
475    } u;
476 } H245Q2931Address_address;
477
478 EXTERN int asn1PE_H245Q2931Address_address (OOCTXT* pctxt, H245Q2931Address_address* pvalue);
479
480 EXTERN int asn1PD_H245Q2931Address_address (OOCTXT* pctxt, H245Q2931Address_address* pvalue);
481
482 /**************************************************************/
483 /*                                                            */
484 /*  Q2931Address_subaddress                                   */
485 /*                                                            */
486 /**************************************************************/
487
488 typedef struct EXTERN H245Q2931Address_subaddress {
489    ASN1UINT numocts;
490    ASN1OCTET data[20];
491 } H245Q2931Address_subaddress;
492
493 EXTERN int asn1PE_H245Q2931Address_subaddress (OOCTXT* pctxt, H245Q2931Address_subaddress* pvalue);
494
495 EXTERN int asn1PD_H245Q2931Address_subaddress (OOCTXT* pctxt, H245Q2931Address_subaddress* pvalue);
496
497 /**************************************************************/
498 /*                                                            */
499 /*  Q2931Address                                              */
500 /*                                                            */
501 /**************************************************************/
502
503 typedef struct EXTERN H245Q2931Address {
504    struct {
505       unsigned subaddressPresent : 1;
506    } m;
507    H245Q2931Address_address address;
508    H245Q2931Address_subaddress subaddress;
509 } H245Q2931Address;
510
511 EXTERN int asn1PE_H245Q2931Address (OOCTXT* pctxt, H245Q2931Address* pvalue);
512
513 EXTERN int asn1PD_H245Q2931Address (OOCTXT* pctxt, H245Q2931Address* pvalue);
514
515 /**************************************************************/
516 /*                                                            */
517 /*  VCCapability_aal1ViaGateway_gatewayAddress                */
518 /*                                                            */
519 /**************************************************************/
520
521 /* List of H245Q2931Address */
522 typedef DList H245VCCapability_aal1ViaGateway_gatewayAddress;
523
524 EXTERN int asn1PE_H245VCCapability_aal1ViaGateway_gatewayAddress (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway_gatewayAddress* pvalue);
525
526 EXTERN int asn1PD_H245VCCapability_aal1ViaGateway_gatewayAddress (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway_gatewayAddress* pvalue);
527
528 /**************************************************************/
529 /*                                                            */
530 /*  VCCapability_aal1ViaGateway                               */
531 /*                                                            */
532 /**************************************************************/
533
534 typedef struct EXTERN H245VCCapability_aal1ViaGateway {
535    H245VCCapability_aal1ViaGateway_gatewayAddress gatewayAddress;
536    ASN1BOOL nullClockRecovery;
537    ASN1BOOL srtsClockRecovery;
538    ASN1BOOL adaptiveClockRecovery;
539    ASN1BOOL nullErrorCorrection;
540    ASN1BOOL longInterleaver;
541    ASN1BOOL shortInterleaver;
542    ASN1BOOL errorCorrectionOnly;
543    ASN1BOOL structuredDataTransfer;
544    ASN1BOOL partiallyFilledCells;
545 } H245VCCapability_aal1ViaGateway;
546
547 EXTERN int asn1PE_H245VCCapability_aal1ViaGateway (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway* pvalue);
548
549 EXTERN int asn1PD_H245VCCapability_aal1ViaGateway (OOCTXT* pctxt, H245VCCapability_aal1ViaGateway* pvalue);
550
551 /**************************************************************/
552 /*                                                            */
553 /*  VCCapability                                              */
554 /*                                                            */
555 /**************************************************************/
556
557 typedef struct EXTERN H245VCCapability {
558    struct {
559       unsigned aal1Present : 1;
560       unsigned aal5Present : 1;
561       unsigned aal1ViaGatewayPresent : 1;
562    } m;
563    H245VCCapability_aal1 aal1;
564    H245VCCapability_aal5 aal5;
565    ASN1BOOL transportStream;
566    ASN1BOOL programStream;
567    H245VCCapability_availableBitRates availableBitRates;
568    H245VCCapability_aal1ViaGateway aal1ViaGateway;
569 } H245VCCapability;
570
571 EXTERN int asn1PE_H245VCCapability (OOCTXT* pctxt, H245VCCapability* pvalue);
572
573 EXTERN int asn1PD_H245VCCapability (OOCTXT* pctxt, H245VCCapability* pvalue);
574
575 /**************************************************************/
576 /*                                                            */
577 /*  _SetOfH245VCCapability                                    */
578 /*                                                            */
579 /**************************************************************/
580
581 /* List of H245VCCapability */
582 typedef DList H245_SetOfH245VCCapability;
583
584 EXTERN int asn1PE_H245_SetOfH245VCCapability (OOCTXT* pctxt, H245_SetOfH245VCCapability* pvalue);
585
586 EXTERN int asn1PD_H245_SetOfH245VCCapability (OOCTXT* pctxt, H245_SetOfH245VCCapability* pvalue);
587
588 /**************************************************************/
589 /*                                                            */
590 /*  H222Capability                                            */
591 /*                                                            */
592 /**************************************************************/
593
594 typedef struct EXTERN H245H222Capability {
595    ASN1USINT numberOfVCs;
596    H245_SetOfH245VCCapability vcCapability;
597 } H245H222Capability;
598
599 EXTERN int asn1PE_H245H222Capability (OOCTXT* pctxt, H245H222Capability* pvalue);
600
601 EXTERN int asn1PD_H245H222Capability (OOCTXT* pctxt, H245H222Capability* pvalue);
602
603 /**************************************************************/
604 /*                                                            */
605 /*  H223Capability_h223MultiplexTableCapability_enhanced      */
606 /*                                                            */
607 /**************************************************************/
608
609 typedef struct EXTERN H245H223Capability_h223MultiplexTableCapability_enhanced {
610    ASN1UINT8 maximumNestingDepth;
611    ASN1UINT8 maximumElementListSize;
612    ASN1UINT8 maximumSubElementListSize;
613 } H245H223Capability_h223MultiplexTableCapability_enhanced;
614
615 EXTERN int asn1PE_H245H223Capability_h223MultiplexTableCapability_enhanced (OOCTXT* pctxt, H245H223Capability_h223MultiplexTableCapability_enhanced* pvalue);
616
617 EXTERN int asn1PD_H245H223Capability_h223MultiplexTableCapability_enhanced (OOCTXT* pctxt, H245H223Capability_h223MultiplexTableCapability_enhanced* pvalue);
618
619 /**************************************************************/
620 /*                                                            */
621 /*  H223Capability_h223MultiplexTableCapability               */
622 /*                                                            */
623 /**************************************************************/
624
625 /* Choice tag constants */
626
627 #define T_H245H223Capability_h223MultiplexTableCapability_basic 1
628 #define T_H245H223Capability_h223MultiplexTableCapability_enhanced 2
629
630 typedef struct EXTERN H245H223Capability_h223MultiplexTableCapability {
631    int t;
632    union {
633       /* t = 1 */
634       /* t = 2 */
635       H245H223Capability_h223MultiplexTableCapability_enhanced *enhanced;
636    } u;
637 } H245H223Capability_h223MultiplexTableCapability;
638
639 EXTERN int asn1PE_H245H223Capability_h223MultiplexTableCapability (OOCTXT* pctxt, H245H223Capability_h223MultiplexTableCapability* pvalue);
640
641 EXTERN int asn1PD_H245H223Capability_h223MultiplexTableCapability (OOCTXT* pctxt, H245H223Capability_h223MultiplexTableCapability* pvalue);
642
643 /**************************************************************/
644 /*                                                            */
645 /*  H223Capability_mobileOperationTransmitCapability          */
646 /*                                                            */
647 /**************************************************************/
648
649 typedef struct EXTERN H245H223Capability_mobileOperationTransmitCapability {
650    ASN1BOOL modeChangeCapability;
651    ASN1BOOL h223AnnexA;
652    ASN1BOOL h223AnnexADoubleFlag;
653    ASN1BOOL h223AnnexB;
654    ASN1BOOL h223AnnexBwithHeader;
655 } H245H223Capability_mobileOperationTransmitCapability;
656
657 EXTERN int asn1PE_H245H223Capability_mobileOperationTransmitCapability (OOCTXT* pctxt, H245H223Capability_mobileOperationTransmitCapability* pvalue);
658
659 EXTERN int asn1PD_H245H223Capability_mobileOperationTransmitCapability (OOCTXT* pctxt, H245H223Capability_mobileOperationTransmitCapability* pvalue);
660
661 /**************************************************************/
662 /*                                                            */
663 /*  H223AnnexCCapability                                      */
664 /*                                                            */
665 /**************************************************************/
666
667 typedef struct EXTERN H245H223AnnexCCapability {
668    struct {
669       unsigned rsCodeCapabilityPresent : 1;
670    } m;
671    ASN1BOOL videoWithAL1M;
672    ASN1BOOL videoWithAL2M;
673    ASN1BOOL videoWithAL3M;
674    ASN1BOOL audioWithAL1M;
675    ASN1BOOL audioWithAL2M;
676    ASN1BOOL audioWithAL3M;
677    ASN1BOOL dataWithAL1M;
678    ASN1BOOL dataWithAL2M;
679    ASN1BOOL dataWithAL3M;
680    ASN1BOOL alpduInterleaving;
681    ASN1USINT maximumAL1MPDUSize;
682    ASN1USINT maximumAL2MSDUSize;
683    ASN1USINT maximumAL3MSDUSize;
684    ASN1BOOL rsCodeCapability;
685 } H245H223AnnexCCapability;
686
687 EXTERN int asn1PE_H245H223AnnexCCapability (OOCTXT* pctxt, H245H223AnnexCCapability* pvalue);
688
689 EXTERN int asn1PD_H245H223AnnexCCapability (OOCTXT* pctxt, H245H223AnnexCCapability* pvalue);
690
691 /**************************************************************/
692 /*                                                            */
693 /*  H223Capability_mobileMultilinkFrameCapability             */
694 /*                                                            */
695 /**************************************************************/
696
697 typedef struct EXTERN H245H223Capability_mobileMultilinkFrameCapability {
698    ASN1UINT8 maximumSampleSize;
699    ASN1USINT maximumPayloadLength;
700 } H245H223Capability_mobileMultilinkFrameCapability;
701
702 EXTERN int asn1PE_H245H223Capability_mobileMultilinkFrameCapability (OOCTXT* pctxt, H245H223Capability_mobileMultilinkFrameCapability* pvalue);
703
704 EXTERN int asn1PD_H245H223Capability_mobileMultilinkFrameCapability (OOCTXT* pctxt, H245H223Capability_mobileMultilinkFrameCapability* pvalue);
705
706 /**************************************************************/
707 /*                                                            */
708 /*  H223Capability                                            */
709 /*                                                            */
710 /**************************************************************/
711
712 typedef struct EXTERN H245H223Capability {
713    struct {
714       unsigned maxMUXPDUSizeCapabilityPresent : 1;
715       unsigned nsrpSupportPresent : 1;
716       unsigned mobileOperationTransmitCapabilityPresent : 1;
717       unsigned h223AnnexCCapabilityPresent : 1;
718       unsigned bitRatePresent : 1;
719       unsigned mobileMultilinkFrameCapabilityPresent : 1;
720    } m;
721    ASN1BOOL transportWithI_frames;
722    ASN1BOOL videoWithAL1;
723    ASN1BOOL videoWithAL2;
724    ASN1BOOL videoWithAL3;
725    ASN1BOOL audioWithAL1;
726    ASN1BOOL audioWithAL2;
727    ASN1BOOL audioWithAL3;
728    ASN1BOOL dataWithAL1;
729    ASN1BOOL dataWithAL2;
730    ASN1BOOL dataWithAL3;
731    ASN1USINT maximumAl2SDUSize;
732    ASN1USINT maximumAl3SDUSize;
733    ASN1USINT maximumDelayJitter;
734    H245H223Capability_h223MultiplexTableCapability h223MultiplexTableCapability;
735    ASN1BOOL maxMUXPDUSizeCapability;
736    ASN1BOOL nsrpSupport;
737    H245H223Capability_mobileOperationTransmitCapability mobileOperationTransmitCapability;
738    H245H223AnnexCCapability h223AnnexCCapability;
739    ASN1USINT bitRate;
740    H245H223Capability_mobileMultilinkFrameCapability mobileMultilinkFrameCapability;
741 } H245H223Capability;
742
743 EXTERN int asn1PE_H245H223Capability (OOCTXT* pctxt, H245H223Capability* pvalue);
744
745 EXTERN int asn1PD_H245H223Capability (OOCTXT* pctxt, H245H223Capability* pvalue);
746
747 /**************************************************************/
748 /*                                                            */
749 /*  V75Capability                                             */
750 /*                                                            */
751 /**************************************************************/
752
753 typedef struct EXTERN H245V75Capability {
754    ASN1BOOL audioHeader;
755 } H245V75Capability;
756
757 EXTERN int asn1PE_H245V75Capability (OOCTXT* pctxt, H245V75Capability* pvalue);
758
759 EXTERN int asn1PD_H245V75Capability (OOCTXT* pctxt, H245V75Capability* pvalue);
760
761 /**************************************************************/
762 /*                                                            */
763 /*  V76Capability                                             */
764 /*                                                            */
765 /**************************************************************/
766
767 typedef struct EXTERN H245V76Capability {
768    ASN1BOOL suspendResumeCapabilitywAddress;
769    ASN1BOOL suspendResumeCapabilitywoAddress;
770    ASN1BOOL rejCapability;
771    ASN1BOOL sREJCapability;
772    ASN1BOOL mREJCapability;
773    ASN1BOOL crc8bitCapability;
774    ASN1BOOL crc16bitCapability;
775    ASN1BOOL crc32bitCapability;
776    ASN1BOOL uihCapability;
777    ASN1USINT numOfDLCS;
778    ASN1BOOL twoOctetAddressFieldCapability;
779    ASN1BOOL loopBackTestCapability;
780    ASN1USINT n401Capability;
781    ASN1UINT8 maxWindowSizeCapability;
782    H245V75Capability v75Capability;
783 } H245V76Capability;
784
785 EXTERN int asn1PE_H245V76Capability (OOCTXT* pctxt, H245V76Capability* pvalue);
786
787 EXTERN int asn1PD_H245V76Capability (OOCTXT* pctxt, H245V76Capability* pvalue);
788
789 /**************************************************************/
790 /*                                                            */
791 /*  T84Profile_t84Restricted                                  */
792 /*                                                            */
793 /**************************************************************/
794
795 typedef struct EXTERN H245T84Profile_t84Restricted {
796    ASN1BOOL qcif;
797    ASN1BOOL cif;
798    ASN1BOOL ccir601Seq;
799    ASN1BOOL ccir601Prog;
800    ASN1BOOL hdtvSeq;
801    ASN1BOOL hdtvProg;
802    ASN1BOOL g3FacsMH200x100;
803    ASN1BOOL g3FacsMH200x200;
804    ASN1BOOL g4FacsMMR200x100;
805    ASN1BOOL g4FacsMMR200x200;
806    ASN1BOOL jbig200x200Seq;
807    ASN1BOOL jbig200x200Prog;
808    ASN1BOOL jbig300x300Seq;
809    ASN1BOOL jbig300x300Prog;
810    ASN1BOOL digPhotoLow;
811    ASN1BOOL digPhotoMedSeq;
812    ASN1BOOL digPhotoMedProg;
813    ASN1BOOL digPhotoHighSeq;
814    ASN1BOOL digPhotoHighProg;
815 } H245T84Profile_t84Restricted;
816
817 EXTERN int asn1PE_H245T84Profile_t84Restricted (OOCTXT* pctxt, H245T84Profile_t84Restricted* pvalue);
818
819 EXTERN int asn1PD_H245T84Profile_t84Restricted (OOCTXT* pctxt, H245T84Profile_t84Restricted* pvalue);
820
821 /**************************************************************/
822 /*                                                            */
823 /*  T84Profile                                                */
824 /*                                                            */
825 /**************************************************************/
826
827 /* Choice tag constants */
828
829 #define T_H245T84Profile_t84Unrestricted 1
830 #define T_H245T84Profile_t84Restricted  2
831
832 typedef struct EXTERN H245T84Profile {
833    int t;
834    union {
835       /* t = 1 */
836       /* t = 2 */
837       H245T84Profile_t84Restricted *t84Restricted;
838    } u;
839 } H245T84Profile;
840
841 EXTERN int asn1PE_H245T84Profile (OOCTXT* pctxt, H245T84Profile* pvalue);
842
843 EXTERN int asn1PD_H245T84Profile (OOCTXT* pctxt, H245T84Profile* pvalue);
844
845 /**************************************************************/
846 /*                                                            */
847 /*  DataApplicationCapability_application_t84                 */
848 /*                                                            */
849 /**************************************************************/
850
851 typedef struct EXTERN H245DataApplicationCapability_application_t84 {
852    H245DataProtocolCapability t84Protocol;
853    H245T84Profile t84Profile;
854 } H245DataApplicationCapability_application_t84;
855
856 EXTERN int asn1PE_H245DataApplicationCapability_application_t84 (OOCTXT* pctxt, H245DataApplicationCapability_application_t84* pvalue);
857
858 EXTERN int asn1PD_H245DataApplicationCapability_application_t84 (OOCTXT* pctxt, H245DataApplicationCapability_application_t84* pvalue);
859
860 /**************************************************************/
861 /*                                                            */
862 /*  DataApplicationCapability_application_nlpid               */
863 /*                                                            */
864 /**************************************************************/
865
866 typedef struct EXTERN H245DataApplicationCapability_application_nlpid {
867    H245DataProtocolCapability nlpidProtocol;
868    ASN1DynOctStr nlpidData;
869 } H245DataApplicationCapability_application_nlpid;
870
871 EXTERN int asn1PE_H245DataApplicationCapability_application_nlpid (OOCTXT* pctxt, H245DataApplicationCapability_application_nlpid* pvalue);
872
873 EXTERN int asn1PD_H245DataApplicationCapability_application_nlpid (OOCTXT* pctxt, H245DataApplicationCapability_application_nlpid* pvalue);
874
875 /**************************************************************/
876 /*                                                            */
877 /*  DataApplicationCapability_application_t38fax              */
878 /*                                                            */
879 /**************************************************************/
880
881 typedef struct EXTERN H245DataApplicationCapability_application_t38fax {
882    H245DataProtocolCapability t38FaxProtocol;
883    H245T38FaxProfile t38FaxProfile;
884 } H245DataApplicationCapability_application_t38fax;
885
886 EXTERN int asn1PE_H245DataApplicationCapability_application_t38fax (OOCTXT* pctxt, H245DataApplicationCapability_application_t38fax* pvalue);
887
888 EXTERN int asn1PD_H245DataApplicationCapability_application_t38fax (OOCTXT* pctxt, H245DataApplicationCapability_application_t38fax* pvalue);
889
890 /**************************************************************/
891 /*                                                            */
892 /*  CapabilityIdentifier_uuid                                 */
893 /*                                                            */
894 /**************************************************************/
895
896 typedef struct EXTERN H245CapabilityIdentifier_uuid {
897    ASN1UINT numocts;
898    ASN1OCTET data[16];
899 } H245CapabilityIdentifier_uuid;
900
901 EXTERN int asn1PE_H245CapabilityIdentifier_uuid (OOCTXT* pctxt, H245CapabilityIdentifier_uuid* pvalue);
902
903 EXTERN int asn1PD_H245CapabilityIdentifier_uuid (OOCTXT* pctxt, H245CapabilityIdentifier_uuid* pvalue);
904
905 /**************************************************************/
906 /*                                                            */
907 /*  CapabilityIdentifier                                      */
908 /*                                                            */
909 /**************************************************************/
910
911 /* Choice tag constants */
912
913 #define T_H245CapabilityIdentifier_standard 1
914 #define T_H245CapabilityIdentifier_h221NonStandard 2
915 #define T_H245CapabilityIdentifier_uuid 3
916 #define T_H245CapabilityIdentifier_domainBased 4
917 #define T_H245CapabilityIdentifier_extElem1 5
918
919 typedef struct EXTERN H245CapabilityIdentifier {
920    int t;
921    union {
922       /* t = 1 */
923       ASN1OBJID *standard;
924       /* t = 2 */
925       H245NonStandardParameter *h221NonStandard;
926       /* t = 3 */
927       H245CapabilityIdentifier_uuid *uuid;
928       /* t = 4 */
929       ASN1IA5String domainBased;
930       /* t = 5 */
931    } u;
932 } H245CapabilityIdentifier;
933
934 EXTERN int asn1PE_H245CapabilityIdentifier (OOCTXT* pctxt, H245CapabilityIdentifier* pvalue);
935
936 EXTERN int asn1PD_H245CapabilityIdentifier (OOCTXT* pctxt, H245CapabilityIdentifier* pvalue);
937
938 /**************************************************************/
939 /*                                                            */
940 /*  ParameterIdentifier_uuid                                  */
941 /*                                                            */
942 /**************************************************************/
943
944 typedef struct EXTERN H245ParameterIdentifier_uuid {
945    ASN1UINT numocts;
946    ASN1OCTET data[16];
947 } H245ParameterIdentifier_uuid;
948
949 EXTERN int asn1PE_H245ParameterIdentifier_uuid (OOCTXT* pctxt, H245ParameterIdentifier_uuid* pvalue);
950
951 EXTERN int asn1PD_H245ParameterIdentifier_uuid (OOCTXT* pctxt, H245ParameterIdentifier_uuid* pvalue);
952
953 /**************************************************************/
954 /*                                                            */
955 /*  ParameterIdentifier                                       */
956 /*                                                            */
957 /**************************************************************/
958
959 /* Choice tag constants */
960
961 #define T_H245ParameterIdentifier_standard 1
962 #define T_H245ParameterIdentifier_h221NonStandard 2
963 #define T_H245ParameterIdentifier_uuid  3
964 #define T_H245ParameterIdentifier_domainBased 4
965 #define T_H245ParameterIdentifier_extElem1 5
966
967 typedef struct EXTERN H245ParameterIdentifier {
968    int t;
969    union {
970       /* t = 1 */
971       ASN1UINT8 standard;
972       /* t = 2 */
973       H245NonStandardParameter *h221NonStandard;
974       /* t = 3 */
975       H245ParameterIdentifier_uuid *uuid;
976       /* t = 4 */
977       ASN1IA5String domainBased;
978       /* t = 5 */
979    } u;
980 } H245ParameterIdentifier;
981
982 EXTERN int asn1PE_H245ParameterIdentifier (OOCTXT* pctxt, H245ParameterIdentifier* pvalue);
983
984 EXTERN int asn1PD_H245ParameterIdentifier (OOCTXT* pctxt, H245ParameterIdentifier* pvalue);
985
986 /**************************************************************/
987 /*                                                            */
988 /*  ParameterValue                                            */
989 /*                                                            */
990 /**************************************************************/
991
992 /* Choice tag constants */
993
994 #define T_H245ParameterValue_logical    1
995 #define T_H245ParameterValue_booleanArray 2
996 #define T_H245ParameterValue_unsignedMin 3
997 #define T_H245ParameterValue_unsignedMax 4
998 #define T_H245ParameterValue_unsigned32Min 5
999 #define T_H245ParameterValue_unsigned32Max 6
1000 #define T_H245ParameterValue_octetString 7
1001 #define T_H245ParameterValue_genericParameter 8
1002 #define T_H245ParameterValue_extElem1   9
1003
1004 typedef struct EXTERN H245ParameterValue {
1005    int t;
1006    union {
1007       /* t = 1 */
1008       /* t = 2 */
1009       ASN1UINT8 booleanArray;
1010       /* t = 3 */
1011       ASN1USINT unsignedMin;
1012       /* t = 4 */
1013       ASN1USINT unsignedMax;
1014       /* t = 5 */
1015       ASN1UINT unsigned32Min;
1016       /* t = 6 */
1017       ASN1UINT unsigned32Max;
1018       /* t = 7 */
1019       ASN1DynOctStr *octetString;
1020       /* t = 8 */
1021       DList *genericParameter;
1022       /* t = 9 */
1023    } u;
1024 } H245ParameterValue;
1025
1026 EXTERN int asn1PE_H245ParameterValue (OOCTXT* pctxt, H245ParameterValue* pvalue);
1027
1028 EXTERN int asn1PD_H245ParameterValue (OOCTXT* pctxt, H245ParameterValue* pvalue);
1029
1030 /**************************************************************/
1031 /*                                                            */
1032 /*  _SeqOfH245ParameterIdentifier                             */
1033 /*                                                            */
1034 /**************************************************************/
1035
1036 /* List of H245ParameterIdentifier */
1037 typedef DList H245_SeqOfH245ParameterIdentifier;
1038
1039 EXTERN int asn1PE_H245_SeqOfH245ParameterIdentifier (OOCTXT* pctxt, H245_SeqOfH245ParameterIdentifier* pvalue);
1040
1041 EXTERN int asn1PD_H245_SeqOfH245ParameterIdentifier (OOCTXT* pctxt, H245_SeqOfH245ParameterIdentifier* pvalue);
1042
1043 /**************************************************************/
1044 /*                                                            */
1045 /*  GenericParameter                                          */
1046 /*                                                            */
1047 /**************************************************************/
1048
1049 typedef struct EXTERN H245GenericParameter {
1050    struct {
1051       unsigned supersedesPresent : 1;
1052    } m;
1053    H245ParameterIdentifier parameterIdentifier;
1054    H245ParameterValue parameterValue;
1055    H245_SeqOfH245ParameterIdentifier supersedes;
1056 } H245GenericParameter;
1057
1058 EXTERN int asn1PE_H245GenericParameter (OOCTXT* pctxt, H245GenericParameter* pvalue);
1059
1060 EXTERN int asn1PD_H245GenericParameter (OOCTXT* pctxt, H245GenericParameter* pvalue);
1061
1062 /**************************************************************/
1063 /*                                                            */
1064 /*  _SeqOfH245GenericParameter                                */
1065 /*                                                            */
1066 /**************************************************************/
1067
1068 /* List of H245GenericParameter */
1069 typedef DList H245_SeqOfH245GenericParameter;
1070
1071 EXTERN int asn1PE_H245_SeqOfH245GenericParameter (OOCTXT* pctxt, H245_SeqOfH245GenericParameter* pvalue);
1072
1073 EXTERN int asn1PD_H245_SeqOfH245GenericParameter (OOCTXT* pctxt, H245_SeqOfH245GenericParameter* pvalue);
1074
1075 /**************************************************************/
1076 /*                                                            */
1077 /*  GenericCapability                                         */
1078 /*                                                            */
1079 /**************************************************************/
1080
1081 typedef struct EXTERN H245GenericCapability {
1082    struct {
1083       unsigned maxBitRatePresent : 1;
1084       unsigned collapsingPresent : 1;
1085       unsigned nonCollapsingPresent : 1;
1086       unsigned nonCollapsingRawPresent : 1;
1087       unsigned transportPresent : 1;
1088    } m;
1089    H245CapabilityIdentifier capabilityIdentifier;
1090    ASN1UINT maxBitRate;
1091    H245_SeqOfH245GenericParameter collapsing;
1092    H245_SeqOfH245GenericParameter nonCollapsing;
1093    ASN1DynOctStr nonCollapsingRaw;
1094    H245DataProtocolCapability transport;
1095 } H245GenericCapability;
1096
1097 EXTERN int asn1PE_H245GenericCapability (OOCTXT* pctxt, H245GenericCapability* pvalue);
1098
1099 EXTERN int asn1PD_H245GenericCapability (OOCTXT* pctxt, H245GenericCapability* pvalue);
1100
1101 /**************************************************************/
1102 /*                                                            */
1103 /*  DataApplicationCapability_application                     */
1104 /*                                                            */
1105 /**************************************************************/
1106
1107 /* Choice tag constants */
1108
1109 #define T_H245DataApplicationCapability_application_nonStandard 1
1110 #define T_H245DataApplicationCapability_application_t120 2
1111 #define T_H245DataApplicationCapability_application_dsm_cc 3
1112 #define T_H245DataApplicationCapability_application_userData 4
1113 #define T_H245DataApplicationCapability_application_t84 5
1114 #define T_H245DataApplicationCapability_application_t434 6
1115 #define T_H245DataApplicationCapability_application_h224 7
1116 #define T_H245DataApplicationCapability_application_nlpid 8
1117 #define T_H245DataApplicationCapability_application_dsvdControl 9
1118 #define T_H245DataApplicationCapability_application_h222DataPartitioning 10
1119 #define T_H245DataApplicationCapability_application_t30fax 11
1120 #define T_H245DataApplicationCapability_application_t140 12
1121 #define T_H245DataApplicationCapability_application_t38fax 13
1122 #define T_H245DataApplicationCapability_application_genericDataCapability 14
1123 #define T_H245DataApplicationCapability_application_extElem1 15
1124
1125 typedef struct EXTERN H245DataApplicationCapability_application {
1126    int t;
1127    union {
1128       /* t = 1 */
1129       H245NonStandardParameter *nonStandard;
1130       /* t = 2 */
1131       H245DataProtocolCapability *t120;
1132       /* t = 3 */
1133       H245DataProtocolCapability *dsm_cc;
1134       /* t = 4 */
1135       H245DataProtocolCapability *userData;
1136       /* t = 5 */
1137       H245DataApplicationCapability_application_t84 *t84;
1138       /* t = 6 */
1139       H245DataProtocolCapability *t434;
1140       /* t = 7 */
1141       H245DataProtocolCapability *h224;
1142       /* t = 8 */
1143       H245DataApplicationCapability_application_nlpid *nlpid;
1144       /* t = 9 */
1145       /* t = 10 */
1146       H245DataProtocolCapability *h222DataPartitioning;
1147       /* t = 11 */
1148       H245DataProtocolCapability *t30fax;
1149       /* t = 12 */
1150       H245DataProtocolCapability *t140;
1151       /* t = 13 */
1152       H245DataApplicationCapability_application_t38fax *t38fax;
1153       /* t = 14 */
1154       H245GenericCapability *genericDataCapability;
1155       /* t = 15 */
1156    } u;
1157 } H245DataApplicationCapability_application;
1158
1159 EXTERN int asn1PE_H245DataApplicationCapability_application (OOCTXT* pctxt, H245DataApplicationCapability_application* pvalue);
1160
1161 EXTERN int asn1PD_H245DataApplicationCapability_application (OOCTXT* pctxt, H245DataApplicationCapability_application* pvalue);
1162
1163 /**************************************************************/
1164 /*                                                            */
1165 /*  DataApplicationCapability                                 */
1166 /*                                                            */
1167 /**************************************************************/
1168
1169 typedef struct EXTERN H245DataApplicationCapability {
1170    H245DataApplicationCapability_application application;
1171    ASN1UINT maxBitRate;
1172 } H245DataApplicationCapability;
1173
1174 EXTERN int asn1PE_H245DataApplicationCapability (OOCTXT* pctxt, H245DataApplicationCapability* pvalue);
1175
1176 EXTERN int asn1PD_H245DataApplicationCapability (OOCTXT* pctxt, H245DataApplicationCapability* pvalue);
1177
1178 /**************************************************************/
1179 /*                                                            */
1180 /*  _SeqOfH245DataApplicationCapability                       */
1181 /*                                                            */
1182 /**************************************************************/
1183
1184 /* List of H245DataApplicationCapability */
1185 typedef DList H245_SeqOfH245DataApplicationCapability;
1186
1187 EXTERN int asn1PE_H245_SeqOfH245DataApplicationCapability (OOCTXT* pctxt, H245_SeqOfH245DataApplicationCapability* pvalue);
1188
1189 EXTERN int asn1PD_H245_SeqOfH245DataApplicationCapability (OOCTXT* pctxt, H245_SeqOfH245DataApplicationCapability* pvalue);
1190
1191 /**************************************************************/
1192 /*                                                            */
1193 /*  MediaDistributionCapability                               */
1194 /*                                                            */
1195 /**************************************************************/
1196
1197 typedef struct EXTERN H245MediaDistributionCapability {
1198    struct {
1199       unsigned centralizedDataPresent : 1;
1200       unsigned distributedDataPresent : 1;
1201    } m;
1202    ASN1BOOL centralizedControl;
1203    ASN1BOOL distributedControl;
1204    ASN1BOOL centralizedAudio;
1205    ASN1BOOL distributedAudio;
1206    ASN1BOOL centralizedVideo;
1207    ASN1BOOL distributedVideo;
1208    H245_SeqOfH245DataApplicationCapability centralizedData;
1209    H245_SeqOfH245DataApplicationCapability distributedData;
1210 } H245MediaDistributionCapability;
1211
1212 EXTERN int asn1PE_H245MediaDistributionCapability (OOCTXT* pctxt, H245MediaDistributionCapability* pvalue);
1213
1214 EXTERN int asn1PD_H245MediaDistributionCapability (OOCTXT* pctxt, H245MediaDistributionCapability* pvalue);
1215
1216 /**************************************************************/
1217 /*                                                            */
1218 /*  _SeqOfH245MediaDistributionCapability                     */
1219 /*                                                            */
1220 /**************************************************************/
1221
1222 /* List of H245MediaDistributionCapability */
1223 typedef DList H245_SeqOfH245MediaDistributionCapability;
1224
1225 EXTERN int asn1PE_H245_SeqOfH245MediaDistributionCapability (OOCTXT* pctxt, H245_SeqOfH245MediaDistributionCapability* pvalue);
1226
1227 EXTERN int asn1PD_H245_SeqOfH245MediaDistributionCapability (OOCTXT* pctxt, H245_SeqOfH245MediaDistributionCapability* pvalue);
1228
1229 /**************************************************************/
1230 /*                                                            */
1231 /*  MultipointCapability                                      */
1232 /*                                                            */
1233 /**************************************************************/
1234
1235 typedef struct EXTERN H245MultipointCapability {
1236    ASN1BOOL multicastCapability;
1237    ASN1BOOL multiUniCastConference;
1238    H245_SeqOfH245MediaDistributionCapability mediaDistributionCapability;
1239 } H245MultipointCapability;
1240
1241 EXTERN int asn1PE_H245MultipointCapability (OOCTXT* pctxt, H245MultipointCapability* pvalue);
1242
1243 EXTERN int asn1PD_H245MultipointCapability (OOCTXT* pctxt, H245MultipointCapability* pvalue);
1244
1245 /**************************************************************/
1246 /*                                                            */
1247 /*  H2250Capability_mcCapability                              */
1248 /*                                                            */
1249 /**************************************************************/
1250
1251 typedef struct EXTERN H245H2250Capability_mcCapability {
1252    ASN1BOOL centralizedConferenceMC;
1253    ASN1BOOL decentralizedConferenceMC;
1254 } H245H2250Capability_mcCapability;
1255
1256 EXTERN int asn1PE_H245H2250Capability_mcCapability (OOCTXT* pctxt, H245H2250Capability_mcCapability* pvalue);
1257
1258 EXTERN int asn1PD_H245H2250Capability_mcCapability (OOCTXT* pctxt, H245H2250Capability_mcCapability* pvalue);
1259
1260 /**************************************************************/
1261 /*                                                            */
1262 /*  RTPPayloadType_payloadDescriptor                          */
1263 /*                                                            */
1264 /**************************************************************/
1265
1266 /* Choice tag constants */
1267
1268 #define T_H245RTPPayloadType_payloadDescriptor_nonStandardIdentifier 1
1269 #define T_H245RTPPayloadType_payloadDescriptor_rfc_number 2
1270 #define T_H245RTPPayloadType_payloadDescriptor_oid 3
1271 #define T_H245RTPPayloadType_payloadDescriptor_extElem1 4
1272
1273 typedef struct EXTERN H245RTPPayloadType_payloadDescriptor {
1274    int t;
1275    union {
1276       /* t = 1 */
1277       H245NonStandardParameter *nonStandardIdentifier;
1278       /* t = 2 */
1279       ASN1INT rfc_number;
1280       /* t = 3 */
1281       ASN1OBJID *oid;
1282       /* t = 4 */
1283    } u;
1284 } H245RTPPayloadType_payloadDescriptor;
1285
1286 EXTERN int asn1PE_H245RTPPayloadType_payloadDescriptor (OOCTXT* pctxt, H245RTPPayloadType_payloadDescriptor* pvalue);
1287
1288 EXTERN int asn1PD_H245RTPPayloadType_payloadDescriptor (OOCTXT* pctxt, H245RTPPayloadType_payloadDescriptor* pvalue);
1289
1290 /**************************************************************/
1291 /*                                                            */
1292 /*  RTPPayloadType                                            */
1293 /*                                                            */
1294 /**************************************************************/
1295
1296 typedef struct EXTERN H245RTPPayloadType {
1297    struct {
1298       unsigned payloadTypePresent : 1;
1299    } m;
1300    H245RTPPayloadType_payloadDescriptor payloadDescriptor;
1301    ASN1UINT8 payloadType;
1302 } H245RTPPayloadType;
1303
1304 EXTERN int asn1PE_H245RTPPayloadType (OOCTXT* pctxt, H245RTPPayloadType* pvalue);
1305
1306 EXTERN int asn1PD_H245RTPPayloadType (OOCTXT* pctxt, H245RTPPayloadType* pvalue);
1307
1308 /**************************************************************/
1309 /*                                                            */
1310 /*  MediaPacketizationCapability_rtpPayloadType               */
1311 /*                                                            */
1312 /**************************************************************/
1313
1314 /* List of H245RTPPayloadType */
1315 typedef DList H245MediaPacketizationCapability_rtpPayloadType;
1316
1317 EXTERN int asn1PE_H245MediaPacketizationCapability_rtpPayloadType (OOCTXT* pctxt, H245MediaPacketizationCapability_rtpPayloadType* pvalue);
1318
1319 EXTERN int asn1PD_H245MediaPacketizationCapability_rtpPayloadType (OOCTXT* pctxt, H245MediaPacketizationCapability_rtpPayloadType* pvalue);
1320
1321 /**************************************************************/
1322 /*                                                            */
1323 /*  MediaPacketizationCapability                              */
1324 /*                                                            */
1325 /**************************************************************/
1326
1327 typedef struct EXTERN H245MediaPacketizationCapability {
1328    struct {
1329       unsigned rtpPayloadTypePresent : 1;
1330    } m;
1331    ASN1BOOL h261aVideoPacketization;
1332    H245MediaPacketizationCapability_rtpPayloadType rtpPayloadType;
1333 } H245MediaPacketizationCapability;
1334
1335 EXTERN int asn1PE_H245MediaPacketizationCapability (OOCTXT* pctxt, H245MediaPacketizationCapability* pvalue);
1336
1337 EXTERN int asn1PD_H245MediaPacketizationCapability (OOCTXT* pctxt, H245MediaPacketizationCapability* pvalue);
1338
1339 /**************************************************************/
1340 /*                                                            */
1341 /*  QOSMode                                                   */
1342 /*                                                            */
1343 /**************************************************************/
1344
1345 /* Choice tag constants */
1346
1347 #define T_H245QOSMode_guaranteedQOS     1
1348 #define T_H245QOSMode_controlledLoad    2
1349 #define T_H245QOSMode_extElem1          3
1350
1351 typedef struct EXTERN H245QOSMode {
1352    int t;
1353 } H245QOSMode;
1354
1355 EXTERN int asn1PE_H245QOSMode (OOCTXT* pctxt, H245QOSMode* pvalue);
1356
1357 EXTERN int asn1PD_H245QOSMode (OOCTXT* pctxt, H245QOSMode* pvalue);
1358
1359 /**************************************************************/
1360 /*                                                            */
1361 /*  RSVPParameters                                            */
1362 /*                                                            */
1363 /**************************************************************/
1364
1365 typedef struct EXTERN H245RSVPParameters {
1366    struct {
1367       unsigned qosModePresent : 1;
1368       unsigned tokenRatePresent : 1;
1369       unsigned bucketSizePresent : 1;
1370       unsigned peakRatePresent : 1;
1371       unsigned minPolicedPresent : 1;
1372       unsigned maxPktSizePresent : 1;
1373    } m;
1374    H245QOSMode qosMode;
1375    ASN1UINT tokenRate;
1376    ASN1UINT bucketSize;
1377    ASN1UINT peakRate;
1378    ASN1UINT minPoliced;
1379    ASN1UINT maxPktSize;
1380 } H245RSVPParameters;
1381
1382 EXTERN int asn1PE_H245RSVPParameters (OOCTXT* pctxt, H245RSVPParameters* pvalue);
1383
1384 EXTERN int asn1PD_H245RSVPParameters (OOCTXT* pctxt, H245RSVPParameters* pvalue);
1385
1386 /**************************************************************/
1387 /*                                                            */
1388 /*  ATMParameters                                             */
1389 /*                                                            */
1390 /**************************************************************/
1391
1392 typedef struct EXTERN H245ATMParameters {
1393    ASN1USINT maxNTUSize;
1394    ASN1BOOL atmUBR;
1395    ASN1BOOL atmrtVBR;
1396    ASN1BOOL atmnrtVBR;
1397    ASN1BOOL atmABR;
1398    ASN1BOOL atmCBR;
1399 } H245ATMParameters;
1400
1401 EXTERN int asn1PE_H245ATMParameters (OOCTXT* pctxt, H245ATMParameters* pvalue);
1402
1403 EXTERN int asn1PD_H245ATMParameters (OOCTXT* pctxt, H245ATMParameters* pvalue);
1404
1405 /**************************************************************/
1406 /*                                                            */
1407 /*  QOSCapability                                             */
1408 /*                                                            */
1409 /**************************************************************/
1410
1411 typedef struct EXTERN H245QOSCapability {
1412    struct {
1413       unsigned nonStandardDataPresent : 1;
1414       unsigned rsvpParametersPresent : 1;
1415       unsigned atmParametersPresent : 1;
1416    } m;
1417    H245NonStandardParameter nonStandardData;
1418    H245RSVPParameters rsvpParameters;
1419    H245ATMParameters atmParameters;
1420 } H245QOSCapability;
1421
1422 EXTERN int asn1PE_H245QOSCapability (OOCTXT* pctxt, H245QOSCapability* pvalue);
1423
1424 EXTERN int asn1PD_H245QOSCapability (OOCTXT* pctxt, H245QOSCapability* pvalue);
1425
1426 /**************************************************************/
1427 /*                                                            */
1428 /*  TransportCapability_qOSCapabilities                       */
1429 /*                                                            */
1430 /**************************************************************/
1431
1432 /* List of H245QOSCapability */
1433 typedef DList H245TransportCapability_qOSCapabilities;
1434
1435 EXTERN int asn1PE_H245TransportCapability_qOSCapabilities (OOCTXT* pctxt, H245TransportCapability_qOSCapabilities* pvalue);
1436
1437 EXTERN int asn1PD_H245TransportCapability_qOSCapabilities (OOCTXT* pctxt, H245TransportCapability_qOSCapabilities* pvalue);
1438
1439 /**************************************************************/
1440 /*                                                            */
1441 /*  MediaTransportType_atm_AAL5_compressed                    */
1442 /*                                                            */
1443 /**************************************************************/
1444
1445 typedef struct EXTERN H245MediaTransportType_atm_AAL5_compressed {
1446    ASN1BOOL variable_delta;
1447 } H245MediaTransportType_atm_AAL5_compressed;
1448
1449 EXTERN int asn1PE_H245MediaTransportType_atm_AAL5_compressed (OOCTXT* pctxt, H245MediaTransportType_atm_AAL5_compressed* pvalue);
1450
1451 EXTERN int asn1PD_H245MediaTransportType_atm_AAL5_compressed (OOCTXT* pctxt, H245MediaTransportType_atm_AAL5_compressed* pvalue);
1452
1453 /**************************************************************/
1454 /*                                                            */
1455 /*  MediaTransportType                                        */
1456 /*                                                            */
1457 /**************************************************************/
1458
1459 /* Choice tag constants */
1460
1461 #define T_H245MediaTransportType_ip_UDP 1
1462 #define T_H245MediaTransportType_ip_TCP 2
1463 #define T_H245MediaTransportType_atm_AAL5_UNIDIR 3
1464 #define T_H245MediaTransportType_atm_AAL5_BIDIR 4
1465 #define T_H245MediaTransportType_atm_AAL5_compressed 5
1466 #define T_H245MediaTransportType_extElem1 6
1467
1468 typedef struct EXTERN H245MediaTransportType {
1469    int t;
1470    union {
1471       /* t = 1 */
1472       /* t = 2 */
1473       /* t = 3 */
1474       /* t = 4 */
1475       /* t = 5 */
1476       H245MediaTransportType_atm_AAL5_compressed *atm_AAL5_compressed;
1477       /* t = 6 */
1478    } u;
1479 } H245MediaTransportType;
1480
1481 EXTERN int asn1PE_H245MediaTransportType (OOCTXT* pctxt, H245MediaTransportType* pvalue);
1482
1483 EXTERN int asn1PD_H245MediaTransportType (OOCTXT* pctxt, H245MediaTransportType* pvalue);
1484
1485 /**************************************************************/
1486 /*                                                            */
1487 /*  MediaChannelCapability                                    */
1488 /*                                                            */
1489 /**************************************************************/
1490
1491 typedef struct EXTERN H245MediaChannelCapability {
1492    struct {
1493       unsigned mediaTransportPresent : 1;
1494    } m;
1495    H245MediaTransportType mediaTransport;
1496 } H245MediaChannelCapability;
1497
1498 EXTERN int asn1PE_H245MediaChannelCapability (OOCTXT* pctxt, H245MediaChannelCapability* pvalue);
1499
1500 EXTERN int asn1PD_H245MediaChannelCapability (OOCTXT* pctxt, H245MediaChannelCapability* pvalue);
1501
1502 /**************************************************************/
1503 /*                                                            */
1504 /*  TransportCapability_mediaChannelCapabilities              */
1505 /*                                                            */
1506 /**************************************************************/
1507
1508 /* List of H245MediaChannelCapability */
1509 typedef DList H245TransportCapability_mediaChannelCapabilities;
1510
1511 EXTERN int asn1PE_H245TransportCapability_mediaChannelCapabilities (OOCTXT* pctxt, H245TransportCapability_mediaChannelCapabilities* pvalue);
1512
1513 EXTERN int asn1PD_H245TransportCapability_mediaChannelCapabilities (OOCTXT* pctxt, H245TransportCapability_mediaChannelCapabilities* pvalue);
1514
1515 /**************************************************************/
1516 /*                                                            */
1517 /*  TransportCapability                                       */
1518 /*                                                            */
1519 /**************************************************************/
1520
1521 typedef struct EXTERN H245TransportCapability {
1522    struct {
1523       unsigned nonStandardPresent : 1;
1524       unsigned qOSCapabilitiesPresent : 1;
1525       unsigned mediaChannelCapabilitiesPresent : 1;
1526    } m;
1527    H245NonStandardParameter nonStandard;
1528    H245TransportCapability_qOSCapabilities qOSCapabilities;
1529    H245TransportCapability_mediaChannelCapabilities mediaChannelCapabilities;
1530 } H245TransportCapability;
1531
1532 EXTERN int asn1PE_H245TransportCapability (OOCTXT* pctxt, H245TransportCapability* pvalue);
1533
1534 EXTERN int asn1PD_H245TransportCapability (OOCTXT* pctxt, H245TransportCapability* pvalue);
1535
1536 /**************************************************************/
1537 /*                                                            */
1538 /*  RTPH263VideoRedundancyFrameMapping_frameSequence          */
1539 /*                                                            */
1540 /**************************************************************/
1541
1542 typedef struct EXTERN H245RTPH263VideoRedundancyFrameMapping_frameSequence {
1543    ASN1UINT n;
1544    ASN1UINT8 elem[256];
1545 } H245RTPH263VideoRedundancyFrameMapping_frameSequence;
1546
1547 EXTERN int asn1PE_H245RTPH263VideoRedundancyFrameMapping_frameSequence (OOCTXT* pctxt, H245RTPH263VideoRedundancyFrameMapping_frameSequence* pvalue);
1548
1549 EXTERN int asn1PD_H245RTPH263VideoRedundancyFrameMapping_frameSequence (OOCTXT* pctxt, H245RTPH263VideoRedundancyFrameMapping_frameSequence* pvalue);
1550
1551 /**************************************************************/
1552 /*                                                            */
1553 /*  RTPH263VideoRedundancyFrameMapping                        */
1554 /*                                                            */
1555 /**************************************************************/
1556
1557 typedef struct EXTERN H245RTPH263VideoRedundancyFrameMapping {
1558    ASN1UINT8 threadNumber;
1559    H245RTPH263VideoRedundancyFrameMapping_frameSequence frameSequence;
1560 } H245RTPH263VideoRedundancyFrameMapping;
1561
1562 EXTERN int asn1PE_H245RTPH263VideoRedundancyFrameMapping (OOCTXT* pctxt, H245RTPH263VideoRedundancyFrameMapping* pvalue);
1563
1564 EXTERN int asn1PD_H245RTPH263VideoRedundancyFrameMapping (OOCTXT* pctxt, H245RTPH263VideoRedundancyFrameMapping* pvalue);
1565
1566 /**************************************************************/
1567 /*                                                            */
1568 /*  RTPH263VideoRedundancyEncoding_frameToThreadMapping_cust  */
1569 /*                                                            */
1570 /**************************************************************/
1571
1572 /* List of H245RTPH263VideoRedundancyFrameMapping */
1573 typedef DList H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom;
1574
1575 EXTERN int asn1PE_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom* pvalue);
1576
1577 EXTERN int asn1PD_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom* pvalue);
1578
1579 /**************************************************************/
1580 /*                                                            */
1581 /*  RTPH263VideoRedundancyEncoding_frameToThreadMapping       */
1582 /*                                                            */
1583 /**************************************************************/
1584
1585 /* Choice tag constants */
1586
1587 #define T_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_roundrobin 1
1588 #define T_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom 2
1589 #define T_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_extElem1 3
1590
1591 typedef struct EXTERN H245RTPH263VideoRedundancyEncoding_frameToThreadMapping {
1592    int t;
1593    union {
1594       /* t = 1 */
1595       /* t = 2 */
1596       H245RTPH263VideoRedundancyEncoding_frameToThreadMapping_custom *custom;
1597       /* t = 3 */
1598    } u;
1599 } H245RTPH263VideoRedundancyEncoding_frameToThreadMapping;
1600
1601 EXTERN int asn1PE_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_frameToThreadMapping* pvalue);
1602
1603 EXTERN int asn1PD_H245RTPH263VideoRedundancyEncoding_frameToThreadMapping (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_frameToThreadMapping* pvalue);
1604
1605 /**************************************************************/
1606 /*                                                            */
1607 /*  RTPH263VideoRedundancyEncoding_containedThreads           */
1608 /*                                                            */
1609 /**************************************************************/
1610
1611 typedef struct EXTERN H245RTPH263VideoRedundancyEncoding_containedThreads {
1612    ASN1UINT n;
1613    ASN1UINT8 elem[256];
1614 } H245RTPH263VideoRedundancyEncoding_containedThreads;
1615
1616 EXTERN int asn1PE_H245RTPH263VideoRedundancyEncoding_containedThreads (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_containedThreads* pvalue);
1617
1618 EXTERN int asn1PD_H245RTPH263VideoRedundancyEncoding_containedThreads (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding_containedThreads* pvalue);
1619
1620 /**************************************************************/
1621 /*                                                            */
1622 /*  RTPH263VideoRedundancyEncoding                            */
1623 /*                                                            */
1624 /**************************************************************/
1625
1626 typedef struct EXTERN H245RTPH263VideoRedundancyEncoding {
1627    struct {
1628       unsigned containedThreadsPresent : 1;
1629    } m;
1630    ASN1UINT8 numberOfThreads;
1631    ASN1USINT framesBetweenSyncPoints;
1632    H245RTPH263VideoRedundancyEncoding_frameToThreadMapping frameToThreadMapping;
1633    H245RTPH263VideoRedundancyEncoding_containedThreads containedThreads;
1634 } H245RTPH263VideoRedundancyEncoding;
1635
1636 EXTERN int asn1PE_H245RTPH263VideoRedundancyEncoding (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding* pvalue);
1637
1638 EXTERN int asn1PD_H245RTPH263VideoRedundancyEncoding (OOCTXT* pctxt, H245RTPH263VideoRedundancyEncoding* pvalue);
1639
1640 /**************************************************************/
1641 /*                                                            */
1642 /*  RedundancyEncodingMethod                                  */
1643 /*                                                            */
1644 /**************************************************************/
1645
1646 /* Choice tag constants */
1647
1648 #define T_H245RedundancyEncodingMethod_nonStandard 1
1649 #define T_H245RedundancyEncodingMethod_rtpAudioRedundancyEncoding 2
1650 #define T_H245RedundancyEncodingMethod_rtpH263VideoRedundancyEncoding 3
1651 #define T_H245RedundancyEncodingMethod_extElem1 4
1652
1653 typedef struct EXTERN H245RedundancyEncodingMethod {
1654    int t;
1655    union {
1656       /* t = 1 */
1657       H245NonStandardParameter *nonStandard;
1658       /* t = 2 */
1659       /* t = 3 */
1660       H245RTPH263VideoRedundancyEncoding *rtpH263VideoRedundancyEncoding;
1661       /* t = 4 */
1662    } u;
1663 } H245RedundancyEncodingMethod;
1664
1665 EXTERN int asn1PE_H245RedundancyEncodingMethod (OOCTXT* pctxt, H245RedundancyEncodingMethod* pvalue);
1666
1667 EXTERN int asn1PD_H245RedundancyEncodingMethod (OOCTXT* pctxt, H245RedundancyEncodingMethod* pvalue);
1668
1669 /**************************************************************/
1670 /*                                                            */
1671 /*  CapabilityTableEntryNumber                                */
1672 /*                                                            */
1673 /**************************************************************/
1674
1675 typedef ASN1USINT H245CapabilityTableEntryNumber;
1676
1677 EXTERN int asn1PE_H245CapabilityTableEntryNumber (OOCTXT* pctxt, H245CapabilityTableEntryNumber value);
1678
1679 EXTERN int asn1PD_H245CapabilityTableEntryNumber (OOCTXT* pctxt, H245CapabilityTableEntryNumber* pvalue);
1680
1681 /**************************************************************/
1682 /*                                                            */
1683 /*  RedundancyEncodingCapability_secondaryEncoding            */
1684 /*                                                            */
1685 /**************************************************************/
1686
1687 typedef struct EXTERN H245RedundancyEncodingCapability_secondaryEncoding {
1688    ASN1UINT n;
1689    H245CapabilityTableEntryNumber elem[256];
1690 } H245RedundancyEncodingCapability_secondaryEncoding;
1691
1692 EXTERN int asn1PE_H245RedundancyEncodingCapability_secondaryEncoding (OOCTXT* pctxt, H245RedundancyEncodingCapability_secondaryEncoding* pvalue);
1693
1694 EXTERN int asn1PD_H245RedundancyEncodingCapability_secondaryEncoding (OOCTXT* pctxt, H245RedundancyEncodingCapability_secondaryEncoding* pvalue);
1695
1696 /**************************************************************/
1697 /*                                                            */
1698 /*  RedundancyEncodingCapability                              */
1699 /*                                                            */
1700 /**************************************************************/
1701
1702 typedef struct EXTERN H245RedundancyEncodingCapability {
1703    struct {
1704       unsigned secondaryEncodingPresent : 1;
1705    } m;
1706    H245RedundancyEncodingMethod redundancyEncodingMethod;
1707    H245CapabilityTableEntryNumber primaryEncoding;
1708    H245RedundancyEncodingCapability_secondaryEncoding secondaryEncoding;
1709 } H245RedundancyEncodingCapability;
1710
1711 EXTERN int asn1PE_H245RedundancyEncodingCapability (OOCTXT* pctxt, H245RedundancyEncodingCapability* pvalue);
1712
1713 EXTERN int asn1PD_H245RedundancyEncodingCapability (OOCTXT* pctxt, H245RedundancyEncodingCapability* pvalue);
1714
1715 /**************************************************************/
1716 /*                                                            */
1717 /*  H2250Capability_redundancyEncodingCapability              */
1718 /*                                                            */
1719 /**************************************************************/
1720
1721 /* List of H245RedundancyEncodingCapability */
1722 typedef DList H245H2250Capability_redundancyEncodingCapability;
1723
1724 EXTERN int asn1PE_H245H2250Capability_redundancyEncodingCapability (OOCTXT* pctxt, H245H2250Capability_redundancyEncodingCapability* pvalue);
1725
1726 EXTERN int asn1PD_H245H2250Capability_redundancyEncodingCapability (OOCTXT* pctxt, H245H2250Capability_redundancyEncodingCapability* pvalue);
1727
1728 /**************************************************************/
1729 /*                                                            */
1730 /*  H2250Capability                                           */
1731 /*                                                            */
1732 /**************************************************************/
1733
1734 typedef struct EXTERN H245H2250Capability {
1735    struct {
1736       unsigned transportCapabilityPresent : 1;
1737       unsigned redundancyEncodingCapabilityPresent : 1;
1738       unsigned logicalChannelSwitchingCapabilityPresent : 1;
1739       unsigned t120DynamicPortCapabilityPresent : 1;
1740    } m;
1741    ASN1USINT maximumAudioDelayJitter;
1742    H245MultipointCapability receiveMultipointCapability;
1743    H245MultipointCapability transmitMultipointCapability;
1744    H245MultipointCapability receiveAndTransmitMultipointCapability;
1745    H245H2250Capability_mcCapability mcCapability;
1746    ASN1BOOL rtcpVideoControlCapability;
1747    H245MediaPacketizationCapability mediaPacketizationCapability;
1748    H245TransportCapability transportCapability;
1749    H245H2250Capability_redundancyEncodingCapability redundancyEncodingCapability;
1750    ASN1BOOL logicalChannelSwitchingCapability;
1751    ASN1BOOL t120DynamicPortCapability;
1752 } H245H2250Capability;
1753
1754 EXTERN int asn1PE_H245H2250Capability (OOCTXT* pctxt, H245H2250Capability* pvalue);
1755
1756 EXTERN int asn1PD_H245H2250Capability (OOCTXT* pctxt, H245H2250Capability* pvalue);
1757
1758 /**************************************************************/
1759 /*                                                            */
1760 /*  MultiplexCapability                                       */
1761 /*                                                            */
1762 /**************************************************************/
1763
1764 /* Choice tag constants */
1765
1766 #define T_H245MultiplexCapability_nonStandard 1
1767 #define T_H245MultiplexCapability_h222Capability 2
1768 #define T_H245MultiplexCapability_h223Capability 3
1769 #define T_H245MultiplexCapability_v76Capability 4
1770 #define T_H245MultiplexCapability_h2250Capability 5
1771 #define T_H245MultiplexCapability_genericMultiplexCapability 6
1772 #define T_H245MultiplexCapability_extElem1 7
1773
1774 typedef struct EXTERN H245MultiplexCapability {
1775    int t;
1776    union {
1777       /* t = 1 */
1778       H245NonStandardParameter *nonStandard;
1779       /* t = 2 */
1780       H245H222Capability *h222Capability;
1781       /* t = 3 */
1782       H245H223Capability *h223Capability;
1783       /* t = 4 */
1784       H245V76Capability *v76Capability;
1785       /* t = 5 */
1786       H245H2250Capability *h2250Capability;
1787       /* t = 6 */
1788       H245GenericCapability *genericMultiplexCapability;
1789       /* t = 7 */
1790    } u;
1791 } H245MultiplexCapability;
1792
1793 EXTERN int asn1PE_H245MultiplexCapability (OOCTXT* pctxt, H245MultiplexCapability* pvalue);
1794
1795 EXTERN int asn1PD_H245MultiplexCapability (OOCTXT* pctxt, H245MultiplexCapability* pvalue);
1796
1797 /**************************************************************/
1798 /*                                                            */
1799 /*  H261VideoCapability                                       */
1800 /*                                                            */
1801 /**************************************************************/
1802
1803 typedef struct EXTERN H245H261VideoCapability {
1804    struct {
1805       unsigned qcifMPIPresent : 1;
1806       unsigned cifMPIPresent : 1;
1807       unsigned videoBadMBsCapPresent : 1;
1808    } m;
1809    ASN1UINT8 qcifMPI;
1810    ASN1UINT8 cifMPI;
1811    ASN1BOOL temporalSpatialTradeOffCapability;
1812    ASN1USINT maxBitRate;
1813    ASN1BOOL stillImageTransmission;
1814    ASN1BOOL videoBadMBsCap;
1815 } H245H261VideoCapability;
1816
1817 EXTERN int asn1PE_H245H261VideoCapability (OOCTXT* pctxt, H245H261VideoCapability* pvalue);
1818
1819 EXTERN int asn1PD_H245H261VideoCapability (OOCTXT* pctxt, H245H261VideoCapability* pvalue);
1820
1821 /**************************************************************/
1822 /*                                                            */
1823 /*  H262VideoCapability                                       */
1824 /*                                                            */
1825 /**************************************************************/
1826
1827 typedef struct EXTERN H245H262VideoCapability {
1828    struct {
1829       unsigned videoBitRatePresent : 1;
1830       unsigned vbvBufferSizePresent : 1;
1831       unsigned samplesPerLinePresent : 1;
1832       unsigned linesPerFramePresent : 1;
1833       unsigned framesPerSecondPresent : 1;
1834       unsigned luminanceSampleRatePresent : 1;
1835       unsigned videoBadMBsCapPresent : 1;
1836    } m;
1837    ASN1BOOL profileAndLevel_SPatML;
1838    ASN1BOOL profileAndLevel_MPatLL;
1839    ASN1BOOL profileAndLevel_MPatML;
1840    ASN1BOOL profileAndLevel_MPatH_14;
1841    ASN1BOOL profileAndLevel_MPatHL;
1842    ASN1BOOL profileAndLevel_SNRatLL;
1843    ASN1BOOL profileAndLevel_SNRatML;
1844    ASN1BOOL profileAndLevel_SpatialatH_14;
1845    ASN1BOOL profileAndLevel_HPatML;
1846    ASN1BOOL profileAndLevel_HPatH_14;
1847    ASN1BOOL profileAndLevel_HPatHL;
1848    ASN1UINT videoBitRate;
1849    ASN1UINT vbvBufferSize;
1850    ASN1USINT samplesPerLine;
1851    ASN1USINT linesPerFrame;
1852    ASN1UINT8 framesPerSecond;
1853    ASN1UINT luminanceSampleRate;
1854    ASN1BOOL videoBadMBsCap;
1855 } H245H262VideoCapability;
1856
1857 EXTERN int asn1PE_H245H262VideoCapability (OOCTXT* pctxt, H245H262VideoCapability* pvalue);
1858
1859 EXTERN int asn1PD_H245H262VideoCapability (OOCTXT* pctxt, H245H262VideoCapability* pvalue);
1860
1861 /**************************************************************/
1862 /*                                                            */
1863 /*  TransparencyParameters                                    */
1864 /*                                                            */
1865 /**************************************************************/
1866
1867 typedef struct EXTERN H245TransparencyParameters {
1868    ASN1USINT presentationOrder;
1869    ASN1INT offset_x;
1870    ASN1INT offset_y;
1871    ASN1UINT8 scale_x;
1872    ASN1UINT8 scale_y;
1873 } H245TransparencyParameters;
1874
1875 EXTERN int asn1PE_H245TransparencyParameters (OOCTXT* pctxt, H245TransparencyParameters* pvalue);
1876
1877 EXTERN int asn1PD_H245TransparencyParameters (OOCTXT* pctxt, H245TransparencyParameters* pvalue);
1878
1879 /**************************************************************/
1880 /*                                                            */
1881 /*  RefPictureSelection_additionalPictureMemory               */
1882 /*                                                            */
1883 /**************************************************************/
1884
1885 typedef struct EXTERN H245RefPictureSelection_additionalPictureMemory {
1886    struct {
1887       unsigned sqcifAdditionalPictureMemoryPresent : 1;
1888       unsigned qcifAdditionalPictureMemoryPresent : 1;
1889       unsigned cifAdditionalPictureMemoryPresent : 1;
1890       unsigned cif4AdditionalPictureMemoryPresent : 1;
1891       unsigned cif16AdditionalPictureMemoryPresent : 1;
1892       unsigned bigCpfAdditionalPictureMemoryPresent : 1;
1893    } m;
1894    ASN1USINT sqcifAdditionalPictureMemory;
1895    ASN1USINT qcifAdditionalPictureMemory;
1896    ASN1USINT cifAdditionalPictureMemory;
1897    ASN1USINT cif4AdditionalPictureMemory;
1898    ASN1USINT cif16AdditionalPictureMemory;
1899    ASN1USINT bigCpfAdditionalPictureMemory;
1900 } H245RefPictureSelection_additionalPictureMemory;
1901
1902 EXTERN int asn1PE_H245RefPictureSelection_additionalPictureMemory (OOCTXT* pctxt, H245RefPictureSelection_additionalPictureMemory* pvalue);
1903
1904 EXTERN int asn1PD_H245RefPictureSelection_additionalPictureMemory (OOCTXT* pctxt, H245RefPictureSelection_additionalPictureMemory* pvalue);
1905
1906 /**************************************************************/
1907 /*                                                            */
1908 /*  RefPictureSelection_videoBackChannelSend                  */
1909 /*                                                            */
1910 /**************************************************************/
1911
1912 /* Choice tag constants */
1913
1914 #define T_H245RefPictureSelection_videoBackChannelSend_none 1
1915 #define T_H245RefPictureSelection_videoBackChannelSend_ackMessageOnly 2
1916 #define T_H245RefPictureSelection_videoBackChannelSend_nackMessageOnly 3
1917 #define T_H245RefPictureSelection_videoBackChannelSend_ackOrNackMessageOnly 4
1918 #define T_H245RefPictureSelection_videoBackChannelSend_ackAndNackMessage 5
1919 #define T_H245RefPictureSelection_videoBackChannelSend_extElem1 6
1920
1921 typedef struct EXTERN H245RefPictureSelection_videoBackChannelSend {
1922    int t;
1923 } H245RefPictureSelection_videoBackChannelSend;
1924
1925 EXTERN int asn1PE_H245RefPictureSelection_videoBackChannelSend (OOCTXT* pctxt, H245RefPictureSelection_videoBackChannelSend* pvalue);
1926
1927 EXTERN int asn1PD_H245RefPictureSelection_videoBackChannelSend (OOCTXT* pctxt, H245RefPictureSelection_videoBackChannelSend* pvalue);
1928
1929 /**************************************************************/
1930 /*                                                            */
1931 /*  RefPictureSelection_enhancedReferencePicSelect_subPictur  */
1932 /*                                                            */
1933 /**************************************************************/
1934
1935 typedef struct EXTERN H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters {
1936    ASN1UINT8 mpuHorizMBs;
1937    ASN1UINT8 mpuVertMBs;
1938    ASN1UINT mpuTotalNumber;
1939 } H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters;
1940
1941 EXTERN int asn1PE_H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters (OOCTXT* pctxt, H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters* pvalue);
1942
1943 EXTERN int asn1PD_H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters (OOCTXT* pctxt, H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters* pvalue);
1944
1945 /**************************************************************/
1946 /*                                                            */
1947 /*  RefPictureSelection_enhancedReferencePicSelect            */
1948 /*                                                            */
1949 /**************************************************************/
1950
1951 typedef struct EXTERN H245RefPictureSelection_enhancedReferencePicSelect {
1952    struct {
1953       unsigned subPictureRemovalParametersPresent : 1;
1954    } m;
1955    H245RefPictureSelection_enhancedReferencePicSelect_subPictureRemovalParameters subPictureRemovalParameters;
1956 } H245RefPictureSelection_enhancedReferencePicSelect;
1957
1958 EXTERN int asn1PE_H245RefPictureSelection_enhancedReferencePicSelect (OOCTXT* pctxt, H245RefPictureSelection_enhancedReferencePicSelect* pvalue);
1959
1960 EXTERN int asn1PD_H245RefPictureSelection_enhancedReferencePicSelect (OOCTXT* pctxt, H245RefPictureSelection_enhancedReferencePicSelect* pvalue);
1961
1962 /**************************************************************/
1963 /*                                                            */
1964 /*  RefPictureSelection                                       */
1965 /*                                                            */
1966 /**************************************************************/
1967
1968 typedef struct EXTERN H245RefPictureSelection {
1969    struct {
1970       unsigned additionalPictureMemoryPresent : 1;
1971       unsigned enhancedReferencePicSelectPresent : 1;
1972    } m;
1973    H245RefPictureSelection_additionalPictureMemory additionalPictureMemory;
1974    ASN1BOOL videoMux;
1975    H245RefPictureSelection_videoBackChannelSend videoBackChannelSend;
1976    H245RefPictureSelection_enhancedReferencePicSelect enhancedReferencePicSelect;
1977 } H245RefPictureSelection;
1978
1979 EXTERN int asn1PE_H245RefPictureSelection (OOCTXT* pctxt, H245RefPictureSelection* pvalue);
1980
1981 EXTERN int asn1PD_H245RefPictureSelection (OOCTXT* pctxt, H245RefPictureSelection* pvalue);
1982
1983 /**************************************************************/
1984 /*                                                            */
1985 /*  CustomPictureClockFrequency                               */
1986 /*                                                            */
1987 /**************************************************************/
1988
1989 typedef struct EXTERN H245CustomPictureClockFrequency {
1990    struct {
1991       unsigned sqcifMPIPresent : 1;
1992       unsigned qcifMPIPresent : 1;
1993       unsigned cifMPIPresent : 1;
1994       unsigned cif4MPIPresent : 1;
1995       unsigned cif16MPIPresent : 1;
1996    } m;
1997    ASN1USINT clockConversionCode;
1998    ASN1UINT8 clockDivisor;
1999    ASN1USINT sqcifMPI;
2000    ASN1USINT qcifMPI;
2001    ASN1USINT cifMPI;
2002    ASN1USINT cif4MPI;
2003    ASN1USINT cif16MPI;
2004 } H245CustomPictureClockFrequency;
2005
2006 EXTERN int asn1PE_H245CustomPictureClockFrequency (OOCTXT* pctxt, H245CustomPictureClockFrequency* pvalue);
2007
2008 EXTERN int asn1PD_H245CustomPictureClockFrequency (OOCTXT* pctxt, H245CustomPictureClockFrequency* pvalue);
2009
2010 /**************************************************************/
2011 /*                                                            */
2012 /*  H263Options_customPictureClockFrequency                   */
2013 /*                                                            */
2014 /**************************************************************/
2015
2016 /* List of H245CustomPictureClockFrequency */
2017 typedef DList H245H263Options_customPictureClockFrequency;
2018
2019 EXTERN int asn1PE_H245H263Options_customPictureClockFrequency (OOCTXT* pctxt, H245H263Options_customPictureClockFrequency* pvalue);
2020
2021 EXTERN int asn1PD_H245H263Options_customPictureClockFrequency (OOCTXT* pctxt, H245H263Options_customPictureClockFrequency* pvalue);
2022
2023 /**************************************************************/
2024 /*                                                            */
2025 /*  CustomPictureFormat_mPI_customPCF_element                 */
2026 /*                                                            */
2027 /**************************************************************/
2028
2029 typedef struct EXTERN H245CustomPictureFormat_mPI_customPCF_element {
2030    ASN1USINT clockConversionCode;
2031    ASN1UINT8 clockDivisor;
2032    ASN1USINT customMPI;
2033 } H245CustomPictureFormat_mPI_customPCF_element;
2034
2035 EXTERN int asn1PE_H245CustomPictureFormat_mPI_customPCF_element (OOCTXT* pctxt, H245CustomPictureFormat_mPI_customPCF_element* pvalue);
2036
2037 EXTERN int asn1PD_H245CustomPictureFormat_mPI_customPCF_element (OOCTXT* pctxt, H245CustomPictureFormat_mPI_customPCF_element* pvalue);
2038
2039 /**************************************************************/
2040 /*                                                            */
2041 /*  CustomPictureFormat_mPI_customPCF                         */
2042 /*                                                            */
2043 /**************************************************************/
2044
2045 /* List of H245CustomPictureFormat_mPI_customPCF_element */
2046 typedef DList H245CustomPictureFormat_mPI_customPCF;
2047
2048 EXTERN int asn1PE_H245CustomPictureFormat_mPI_customPCF (OOCTXT* pctxt, H245CustomPictureFormat_mPI_customPCF* pvalue);
2049
2050 EXTERN int asn1PD_H245CustomPictureFormat_mPI_customPCF (OOCTXT* pctxt, H245CustomPictureFormat_mPI_customPCF* pvalue);
2051
2052 /**************************************************************/
2053 /*                                                            */
2054 /*  CustomPictureFormat_mPI                                   */
2055 /*                                                            */
2056 /**************************************************************/
2057
2058 typedef struct EXTERN H245CustomPictureFormat_mPI {
2059    struct {
2060       unsigned standardMPIPresent : 1;
2061       unsigned customPCFPresent : 1;
2062    } m;
2063    ASN1UINT8 standardMPI;
2064    H245CustomPictureFormat_mPI_customPCF customPCF;
2065 } H245CustomPictureFormat_mPI;
2066
2067 EXTERN int asn1PE_H245CustomPictureFormat_mPI (OOCTXT* pctxt, H245CustomPictureFormat_mPI* pvalue);
2068
2069 EXTERN int asn1PD_H245CustomPictureFormat_mPI (OOCTXT* pctxt, H245CustomPictureFormat_mPI* pvalue);
2070
2071 /**************************************************************/
2072 /*                                                            */
2073 /*  CustomPictureFormat_pixelAspectInformation_pixelAspectCo  */
2074 /*                                                            */
2075 /**************************************************************/
2076
2077 typedef struct EXTERN H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode {
2078    ASN1UINT n;
2079    ASN1UINT8 elem[14];
2080 } H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode;
2081
2082 EXTERN int asn1PE_H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode* pvalue);
2083
2084 EXTERN int asn1PD_H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode* pvalue);
2085
2086 /**************************************************************/
2087 /*                                                            */
2088 /*  CustomPictureFormat_pixelAspectInformation_extendedPAR_e  */
2089 /*                                                            */
2090 /**************************************************************/
2091
2092 typedef struct EXTERN H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element {
2093    ASN1UINT8 width;
2094    ASN1UINT8 height;
2095 } H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element;
2096
2097 EXTERN int asn1PE_H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element* pvalue);
2098
2099 EXTERN int asn1PD_H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element* pvalue);
2100
2101 /**************************************************************/
2102 /*                                                            */
2103 /*  CustomPictureFormat_pixelAspectInformation_extendedPAR    */
2104 /*                                                            */
2105 /**************************************************************/
2106
2107 /* List of H245CustomPictureFormat_pixelAspectInformation_extendedPAR_element */
2108 typedef DList H245CustomPictureFormat_pixelAspectInformation_extendedPAR;
2109
2110 EXTERN int asn1PE_H245CustomPictureFormat_pixelAspectInformation_extendedPAR (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_extendedPAR* pvalue);
2111
2112 EXTERN int asn1PD_H245CustomPictureFormat_pixelAspectInformation_extendedPAR (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation_extendedPAR* pvalue);
2113
2114 /**************************************************************/
2115 /*                                                            */
2116 /*  CustomPictureFormat_pixelAspectInformation                */
2117 /*                                                            */
2118 /**************************************************************/
2119
2120 /* Choice tag constants */
2121
2122 #define T_H245CustomPictureFormat_pixelAspectInformation_anyPixelAspectRatio 1
2123 #define T_H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode 2
2124 #define T_H245CustomPictureFormat_pixelAspectInformation_extendedPAR 3
2125 #define T_H245CustomPictureFormat_pixelAspectInformation_extElem1 4
2126
2127 typedef struct EXTERN H245CustomPictureFormat_pixelAspectInformation {
2128    int t;
2129    union {
2130       /* t = 1 */
2131       ASN1BOOL anyPixelAspectRatio;
2132       /* t = 2 */
2133       H245CustomPictureFormat_pixelAspectInformation_pixelAspectCode *pixelAspectCode;
2134       /* t = 3 */
2135       H245CustomPictureFormat_pixelAspectInformation_extendedPAR *extendedPAR;
2136       /* t = 4 */
2137    } u;
2138 } H245CustomPictureFormat_pixelAspectInformation;
2139
2140 EXTERN int asn1PE_H245CustomPictureFormat_pixelAspectInformation (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation* pvalue);
2141
2142 EXTERN int asn1PD_H245CustomPictureFormat_pixelAspectInformation (OOCTXT* pctxt, H245CustomPictureFormat_pixelAspectInformation* pvalue);
2143
2144 /**************************************************************/
2145 /*                                                            */
2146 /*  CustomPictureFormat                                       */
2147 /*                                                            */
2148 /**************************************************************/
2149
2150 typedef struct EXTERN H245CustomPictureFormat {
2151    ASN1USINT maxCustomPictureWidth;
2152    ASN1USINT maxCustomPictureHeight;
2153    ASN1USINT minCustomPictureWidth;
2154    ASN1USINT minCustomPictureHeight;
2155    H245CustomPictureFormat_mPI mPI;
2156    H245CustomPictureFormat_pixelAspectInformation pixelAspectInformation;
2157 } H245CustomPictureFormat;
2158
2159 EXTERN int asn1PE_H245CustomPictureFormat (OOCTXT* pctxt, H245CustomPictureFormat* pvalue);
2160
2161 EXTERN int asn1PD_H245CustomPictureFormat (OOCTXT* pctxt, H245CustomPictureFormat* pvalue);
2162
2163 /**************************************************************/
2164 /*                                                            */
2165 /*  H263Options_customPictureFormat                           */
2166 /*                                                            */
2167 /**************************************************************/
2168
2169 /* List of H245CustomPictureFormat */
2170 typedef DList H245H263Options_customPictureFormat;
2171
2172 EXTERN int asn1PE_H245H263Options_customPictureFormat (OOCTXT* pctxt, H245H263Options_customPictureFormat* pvalue);
2173
2174 EXTERN int asn1PD_H245H263Options_customPictureFormat (OOCTXT* pctxt, H245H263Options_customPictureFormat* pvalue);
2175
2176 /**************************************************************/
2177 /*                                                            */
2178 /*  H263Version3Options                                       */
2179 /*                                                            */
2180 /**************************************************************/
2181
2182 typedef struct EXTERN H245H263Version3Options {
2183    ASN1BOOL dataPartitionedSlices;
2184    ASN1BOOL fixedPointIDCT0;
2185    ASN1BOOL interlacedFields;
2186    ASN1BOOL currentPictureHeaderRepetition;
2187    ASN1BOOL previousPictureHeaderRepetition;
2188    ASN1BOOL nextPictureHeaderRepetition;
2189    ASN1BOOL pictureNumber;
2190    ASN1BOOL spareReferencePictures;
2191 } H245H263Version3Options;
2192
2193 EXTERN int asn1PE_H245H263Version3Options (OOCTXT* pctxt, H245H263Version3Options* pvalue);
2194
2195 EXTERN int asn1PD_H245H263Version3Options (OOCTXT* pctxt, H245H263Version3Options* pvalue);
2196
2197 /**************************************************************/
2198 /*                                                            */
2199 /*  H263ModeComboFlags                                        */
2200 /*                                                            */
2201 /**************************************************************/
2202
2203 typedef struct EXTERN H245H263ModeComboFlags {
2204    struct {
2205       unsigned enhancedReferencePicSelectPresent : 1;
2206       unsigned h263Version3OptionsPresent : 1;
2207    } m;
2208    ASN1BOOL unrestrictedVector;
2209    ASN1BOOL arithmeticCoding;
2210    ASN1BOOL advancedPrediction;
2211    ASN1BOOL pbFrames;
2212    ASN1BOOL advancedIntraCodingMode;
2213    ASN1BOOL deblockingFilterMode;
2214    ASN1BOOL unlimitedMotionVectors;
2215    ASN1BOOL slicesInOrder_NonRect;
2216    ASN1BOOL slicesInOrder_Rect;
2217    ASN1BOOL slicesNoOrder_NonRect;
2218    ASN1BOOL slicesNoOrder_Rect;
2219    ASN1BOOL improvedPBFramesMode;
2220    ASN1BOOL referencePicSelect;
2221    ASN1BOOL dynamicPictureResizingByFour;
2222    ASN1BOOL dynamicPictureResizingSixteenthPel;
2223    ASN1BOOL dynamicWarpingHalfPel;
2224    ASN1BOOL dynamicWarpingSixteenthPel;
2225    ASN1BOOL reducedResolutionUpdate;
2226    ASN1BOOL independentSegmentDecoding;
2227    ASN1BOOL alternateInterVLCMode;
2228    ASN1BOOL modifiedQuantizationMode;
2229    ASN1BOOL enhancedReferencePicSelect;
2230    H245H263Version3Options h263Version3Options;
2231 } H245H263ModeComboFlags;
2232
2233 EXTERN int asn1PE_H245H263ModeComboFlags (OOCTXT* pctxt, H245H263ModeComboFlags* pvalue);
2234
2235 EXTERN int asn1PD_H245H263ModeComboFlags (OOCTXT* pctxt, H245H263ModeComboFlags* pvalue);
2236
2237 /**************************************************************/
2238 /*                                                            */
2239 /*  H263VideoModeCombos_h263VideoCoupledModes                 */
2240 /*                                                            */
2241 /**************************************************************/
2242
2243 /* List of H245H263ModeComboFlags */
2244 typedef DList H245H263VideoModeCombos_h263VideoCoupledModes;
2245
2246 EXTERN int asn1PE_H245H263VideoModeCombos_h263VideoCoupledModes (OOCTXT* pctxt, H245H263VideoModeCombos_h263VideoCoupledModes* pvalue);
2247
2248 EXTERN int asn1PD_H245H263VideoModeCombos_h263VideoCoupledModes (OOCTXT* pctxt, H245H263VideoModeCombos_h263VideoCoupledModes* pvalue);
2249
2250 /**************************************************************/
2251 /*                                                            */
2252 /*  H263VideoModeCombos                                       */
2253 /*                                                            */
2254 /**************************************************************/
2255
2256 typedef struct EXTERN H245H263VideoModeCombos {
2257    H245H263ModeComboFlags h263VideoUncoupledModes;
2258    H245H263VideoModeCombos_h263VideoCoupledModes h263VideoCoupledModes;
2259 } H245H263VideoModeCombos;
2260
2261 EXTERN int asn1PE_H245H263VideoModeCombos (OOCTXT* pctxt, H245H263VideoModeCombos* pvalue);
2262
2263 EXTERN int asn1PD_H245H263VideoModeCombos (OOCTXT* pctxt, H245H263VideoModeCombos* pvalue);
2264
2265 /**************************************************************/
2266 /*                                                            */
2267 /*  H263Options_modeCombos                                    */
2268 /*                                                            */
2269 /**************************************************************/
2270
2271 /* List of H245H263VideoModeCombos */
2272 typedef DList H245H263Options_modeCombos;
2273
2274 EXTERN int asn1PE_H245H263Options_modeCombos (OOCTXT* pctxt, H245H263Options_modeCombos* pvalue);
2275
2276 EXTERN int asn1PD_H245H263Options_modeCombos (OOCTXT* pctxt, H245H263Options_modeCombos* pvalue);
2277
2278 /**************************************************************/
2279 /*                                                            */
2280 /*  H263Options                                               */
2281 /*                                                            */
2282 /**************************************************************/
2283
2284 typedef struct EXTERN H245H263Options {
2285    struct {
2286       unsigned transparencyParametersPresent : 1;
2287       unsigned refPictureSelectionPresent : 1;
2288       unsigned customPictureClockFrequencyPresent : 1;
2289       unsigned customPictureFormatPresent : 1;
2290       unsigned modeCombosPresent : 1;
2291       unsigned videoBadMBsCapPresent : 1;
2292       unsigned h263Version3OptionsPresent : 1;
2293    } m;
2294    ASN1BOOL advancedIntraCodingMode;
2295    ASN1BOOL deblockingFilterMode;
2296    ASN1BOOL improvedPBFramesMode;
2297    ASN1BOOL unlimitedMotionVectors;
2298    ASN1BOOL fullPictureFreeze;
2299    ASN1BOOL partialPictureFreezeAndRelease;
2300    ASN1BOOL resizingPartPicFreezeAndRelease;
2301    ASN1BOOL fullPictureSnapshot;
2302    ASN1BOOL partialPictureSnapshot;
2303    ASN1BOOL videoSegmentTagging;
2304    ASN1BOOL progressiveRefinement;
2305    ASN1BOOL dynamicPictureResizingByFour;
2306    ASN1BOOL dynamicPictureResizingSixteenthPel;
2307    ASN1BOOL dynamicWarpingHalfPel;
2308    ASN1BOOL dynamicWarpingSixteenthPel;
2309    ASN1BOOL independentSegmentDecoding;
2310    ASN1BOOL slicesInOrder_NonRect;
2311    ASN1BOOL slicesInOrder_Rect;
2312    ASN1BOOL slicesNoOrder_NonRect;
2313    ASN1BOOL slicesNoOrder_Rect;
2314    ASN1BOOL alternateInterVLCMode;
2315    ASN1BOOL modifiedQuantizationMode;
2316    ASN1BOOL reducedResolutionUpdate;
2317    H245TransparencyParameters transparencyParameters;
2318    ASN1BOOL separateVideoBackChannel;
2319    H245RefPictureSelection refPictureSelection;
2320    H245H263Options_customPictureClockFrequency customPictureClockFrequency;
2321    H245H263Options_customPictureFormat customPictureFormat;
2322    H245H263Options_modeCombos modeCombos;
2323    ASN1BOOL videoBadMBsCap;
2324    H245H263Version3Options h263Version3Options;
2325 } H245H263Options;
2326
2327 EXTERN int asn1PE_H245H263Options (OOCTXT* pctxt, H245H263Options* pvalue);
2328
2329 EXTERN int asn1PD_H245H263Options (OOCTXT* pctxt, H245H263Options* pvalue);
2330
2331 /**************************************************************/
2332 /*                                                            */
2333 /*  EnhancementOptions                                        */
2334 /*                                                            */
2335 /**************************************************************/
2336
2337 typedef struct EXTERN H245EnhancementOptions {
2338    struct {
2339       unsigned sqcifMPIPresent : 1;
2340       unsigned qcifMPIPresent : 1;
2341       unsigned cifMPIPresent : 1;
2342       unsigned cif4MPIPresent : 1;
2343       unsigned cif16MPIPresent : 1;
2344       unsigned slowSqcifMPIPresent : 1;
2345       unsigned slowQcifMPIPresent : 1;
2346       unsigned slowCifMPIPresent : 1;
2347       unsigned slowCif4MPIPresent : 1;
2348       unsigned slowCif16MPIPresent : 1;
2349       unsigned h263OptionsPresent : 1;
2350    } m;
2351    ASN1UINT8 sqcifMPI;
2352    ASN1UINT8 qcifMPI;
2353    ASN1UINT8 cifMPI;
2354    ASN1UINT8 cif4MPI;
2355    ASN1UINT8 cif16MPI;
2356    ASN1UINT maxBitRate;
2357    ASN1BOOL unrestrictedVector;
2358    ASN1BOOL arithmeticCoding;
2359    ASN1BOOL temporalSpatialTradeOffCapability;
2360    ASN1USINT slowSqcifMPI;
2361    ASN1USINT slowQcifMPI;
2362    ASN1USINT slowCifMPI;
2363    ASN1USINT slowCif4MPI;
2364    ASN1USINT slowCif16MPI;
2365    ASN1BOOL errorCompensation;
2366    H245H263Options h263Options;
2367 } H245EnhancementOptions;
2368
2369 EXTERN int asn1PE_H245EnhancementOptions (OOCTXT* pctxt, H245EnhancementOptions* pvalue);
2370
2371 EXTERN int asn1PD_H245EnhancementOptions (OOCTXT* pctxt, H245EnhancementOptions* pvalue);
2372
2373 /**************************************************************/
2374 /*                                                            */
2375 /*  EnhancementLayerInfo_snrEnhancement                       */
2376 /*                                                            */
2377 /**************************************************************/
2378
2379 /* List of H245EnhancementOptions */
2380 typedef DList H245EnhancementLayerInfo_snrEnhancement;
2381
2382 EXTERN int asn1PE_H245EnhancementLayerInfo_snrEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_snrEnhancement* pvalue);
2383
2384 EXTERN int asn1PD_H245EnhancementLayerInfo_snrEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_snrEnhancement* pvalue);
2385
2386 /**************************************************************/
2387 /*                                                            */
2388 /*  EnhancementLayerInfo_spatialEnhancement                   */
2389 /*                                                            */
2390 /**************************************************************/
2391
2392 /* List of H245EnhancementOptions */
2393 typedef DList H245EnhancementLayerInfo_spatialEnhancement;
2394
2395 EXTERN int asn1PE_H245EnhancementLayerInfo_spatialEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_spatialEnhancement* pvalue);
2396
2397 EXTERN int asn1PD_H245EnhancementLayerInfo_spatialEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_spatialEnhancement* pvalue);
2398
2399 /**************************************************************/
2400 /*                                                            */
2401 /*  BEnhancementParameters                                    */
2402 /*                                                            */
2403 /**************************************************************/
2404
2405 typedef struct EXTERN H245BEnhancementParameters {
2406    H245EnhancementOptions enhancementOptions;
2407    ASN1UINT8 numberOfBPictures;
2408 } H245BEnhancementParameters;
2409
2410 EXTERN int asn1PE_H245BEnhancementParameters (OOCTXT* pctxt, H245BEnhancementParameters* pvalue);
2411
2412 EXTERN int asn1PD_H245BEnhancementParameters (OOCTXT* pctxt, H245BEnhancementParameters* pvalue);
2413
2414 /**************************************************************/
2415 /*                                                            */
2416 /*  EnhancementLayerInfo_bPictureEnhancement                  */
2417 /*                                                            */
2418 /**************************************************************/
2419
2420 /* List of H245BEnhancementParameters */
2421 typedef DList H245EnhancementLayerInfo_bPictureEnhancement;
2422
2423 EXTERN int asn1PE_H245EnhancementLayerInfo_bPictureEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_bPictureEnhancement* pvalue);
2424
2425 EXTERN int asn1PD_H245EnhancementLayerInfo_bPictureEnhancement (OOCTXT* pctxt, H245EnhancementLayerInfo_bPictureEnhancement* pvalue);
2426
2427 /**************************************************************/
2428 /*                                                            */
2429 /*  EnhancementLayerInfo                                      */
2430 /*                                                            */
2431 /**************************************************************/
2432
2433 typedef struct EXTERN H245EnhancementLayerInfo {
2434    struct {
2435       unsigned snrEnhancementPresent : 1;
2436       unsigned spatialEnhancementPresent : 1;
2437       unsigned bPictureEnhancementPresent : 1;
2438    } m;
2439    ASN1BOOL baseBitRateConstrained;
2440    H245EnhancementLayerInfo_snrEnhancement snrEnhancement;
2441    H245EnhancementLayerInfo_spatialEnhancement spatialEnhancement;
2442    H245EnhancementLayerInfo_bPictureEnhancement bPictureEnhancement;
2443 } H245EnhancementLayerInfo;
2444
2445 EXTERN int asn1PE_H245EnhancementLayerInfo (OOCTXT* pctxt, H245EnhancementLayerInfo* pvalue);
2446
2447 EXTERN int asn1PD_H245EnhancementLayerInfo (OOCTXT* pctxt, H245EnhancementLayerInfo* pvalue);
2448
2449 /**************************************************************/
2450 /*                                                            */
2451 /*  H263VideoCapability                                       */
2452 /*                                                            */
2453 /**************************************************************/
2454
2455 typedef struct EXTERN H245H263VideoCapability {
2456    struct {
2457       unsigned sqcifMPIPresent : 1;
2458       unsigned qcifMPIPresent : 1;
2459       unsigned cifMPIPresent : 1;
2460       unsigned cif4MPIPresent : 1;
2461       unsigned cif16MPIPresent : 1;
2462       unsigned hrd_BPresent : 1;
2463       unsigned bppMaxKbPresent : 1;
2464       unsigned slowSqcifMPIPresent : 1;
2465       unsigned slowQcifMPIPresent : 1;
2466       unsigned slowCifMPIPresent : 1;
2467       unsigned slowCif4MPIPresent : 1;
2468       unsigned slowCif16MPIPresent : 1;
2469       unsigned errorCompensationPresent : 1;
2470       unsigned enhancementLayerInfoPresent : 1;
2471       unsigned h263OptionsPresent : 1;
2472    } m;
2473    ASN1UINT8 sqcifMPI;
2474    ASN1UINT8 qcifMPI;
2475    ASN1UINT8 cifMPI;
2476    ASN1UINT8 cif4MPI;
2477    ASN1UINT8 cif16MPI;
2478    ASN1UINT maxBitRate;
2479    ASN1BOOL unrestrictedVector;
2480    ASN1BOOL arithmeticCoding;
2481    ASN1BOOL advancedPrediction;
2482    ASN1BOOL pbFrames;
2483    ASN1BOOL temporalSpatialTradeOffCapability;
2484    ASN1UINT hrd_B;
2485    ASN1USINT bppMaxKb;
2486    ASN1USINT slowSqcifMPI;
2487    ASN1USINT slowQcifMPI;
2488    ASN1USINT slowCifMPI;
2489    ASN1USINT slowCif4MPI;
2490    ASN1USINT slowCif16MPI;
2491    ASN1BOOL errorCompensation;
2492    H245EnhancementLayerInfo enhancementLayerInfo;
2493    H245H263Options h263Options;
2494 } H245H263VideoCapability;
2495
2496 EXTERN int asn1PE_H245H263VideoCapability (OOCTXT* pctxt, H245H263VideoCapability* pvalue);
2497
2498 EXTERN int asn1PD_H245H263VideoCapability (OOCTXT* pctxt, H245H263VideoCapability* pvalue);
2499
2500 /**************************************************************/
2501 /*                                                            */
2502 /*  IS11172VideoCapability                                    */
2503 /*                                                            */
2504 /**************************************************************/
2505
2506 typedef struct EXTERN H245IS11172VideoCapability {
2507    struct {
2508       unsigned videoBitRatePresent : 1;
2509       unsigned vbvBufferSizePresent : 1;
2510       unsigned samplesPerLinePresent : 1;
2511       unsigned linesPerFramePresent : 1;
2512       unsigned pictureRatePresent : 1;
2513       unsigned luminanceSampleRatePresent : 1;
2514       unsigned videoBadMBsCapPresent : 1;
2515    } m;
2516    ASN1BOOL constrainedBitstream;
2517    ASN1UINT videoBitRate;
2518    ASN1UINT vbvBufferSize;
2519    ASN1USINT samplesPerLine;
2520    ASN1USINT linesPerFrame;
2521    ASN1UINT8 pictureRate;
2522    ASN1UINT luminanceSampleRate;
2523    ASN1BOOL videoBadMBsCap;
2524 } H245IS11172VideoCapability;
2525
2526 EXTERN int asn1PE_H245IS11172VideoCapability (OOCTXT* pctxt, H245IS11172VideoCapability* pvalue);
2527
2528 EXTERN int asn1PD_H245IS11172VideoCapability (OOCTXT* pctxt, H245IS11172VideoCapability* pvalue);
2529
2530 /**************************************************************/
2531 /*                                                            */
2532 /*  VideoCapability                                           */
2533 /*                                                            */
2534 /**************************************************************/
2535
2536 /* Choice tag constants */
2537
2538 #define T_H245VideoCapability_nonStandard 1
2539 #define T_H245VideoCapability_h261VideoCapability 2
2540 #define T_H245VideoCapability_h262VideoCapability 3
2541 #define T_H245VideoCapability_h263VideoCapability 4
2542 #define T_H245VideoCapability_is11172VideoCapability 5
2543 #define T_H245VideoCapability_genericVideoCapability 6
2544 #define T_H245VideoCapability_extElem1  7
2545
2546 typedef struct EXTERN H245VideoCapability {
2547    int t;
2548    union {
2549       /* t = 1 */
2550       H245NonStandardParameter *nonStandard;
2551       /* t = 2 */
2552       H245H261VideoCapability *h261VideoCapability;
2553       /* t = 3 */
2554       H245H262VideoCapability *h262VideoCapability;
2555       /* t = 4 */
2556       H245H263VideoCapability *h263VideoCapability;
2557       /* t = 5 */
2558       H245IS11172VideoCapability *is11172VideoCapability;
2559       /* t = 6 */
2560       H245GenericCapability *genericVideoCapability;
2561       /* t = 7 */
2562    } u;
2563 } H245VideoCapability;
2564
2565 EXTERN int asn1PE_H245VideoCapability (OOCTXT* pctxt, H245VideoCapability* pvalue);
2566
2567 EXTERN int asn1PD_H245VideoCapability (OOCTXT* pctxt, H245VideoCapability* pvalue);
2568
2569 /**************************************************************/
2570 /*                                                            */
2571 /*  AudioCapability_g7231                                     */
2572 /*                                                            */
2573 /**************************************************************/
2574
2575 typedef struct EXTERN H245AudioCapability_g7231 {
2576    ASN1USINT maxAl_sduAudioFrames;
2577    ASN1BOOL silenceSuppression;
2578 } H245AudioCapability_g7231;
2579
2580 EXTERN int asn1PE_H245AudioCapability_g7231 (OOCTXT* pctxt, H245AudioCapability_g7231* pvalue);
2581
2582 EXTERN int asn1PD_H245AudioCapability_g7231 (OOCTXT* pctxt, H245AudioCapability_g7231* pvalue);
2583
2584 /**************************************************************/
2585 /*                                                            */
2586 /*  IS11172AudioCapability                                    */
2587 /*                                                            */
2588 /**************************************************************/
2589
2590 typedef struct EXTERN H245IS11172AudioCapability {
2591    ASN1BOOL audioLayer1;
2592    ASN1BOOL audioLayer2;
2593    ASN1BOOL audioLayer3;
2594    ASN1BOOL audioSampling32k;
2595    ASN1BOOL audioSampling44k1;
2596    ASN1BOOL audioSampling48k;
2597    ASN1BOOL singleChannel;
2598    ASN1BOOL twoChannels;
2599    ASN1USINT bitRate;
2600 } H245IS11172AudioCapability;
2601
2602 EXTERN int asn1PE_H245IS11172AudioCapability (OOCTXT* pctxt, H245IS11172AudioCapability* pvalue);
2603
2604 EXTERN int asn1PD_H245IS11172AudioCapability (OOCTXT* pctxt, H245IS11172AudioCapability* pvalue);
2605
2606 /**************************************************************/
2607 /*                                                            */
2608 /*  IS13818AudioCapability                                    */
2609 /*                                                            */
2610 /**************************************************************/
2611
2612 typedef struct EXTERN H245IS13818AudioCapability {
2613    ASN1BOOL audioLayer1;
2614    ASN1BOOL audioLayer2;
2615    ASN1BOOL audioLayer3;
2616    ASN1BOOL audioSampling16k;
2617    ASN1BOOL audioSampling22k05;
2618    ASN1BOOL audioSampling24k;
2619    ASN1BOOL audioSampling32k;
2620    ASN1BOOL audioSampling44k1;
2621    ASN1BOOL audioSampling48k;
2622    ASN1BOOL singleChannel;
2623    ASN1BOOL twoChannels;
2624    ASN1BOOL threeChannels2_1;
2625    ASN1BOOL threeChannels3_0;
2626    ASN1BOOL fourChannels2_0_2_0;
2627    ASN1BOOL fourChannels2_2;
2628    ASN1BOOL fourChannels3_1;
2629    ASN1BOOL fiveChannels3_0_2_0;
2630    ASN1BOOL fiveChannels3_2;
2631    ASN1BOOL lowFrequencyEnhancement;
2632    ASN1BOOL multilingual;
2633    ASN1USINT bitRate;
2634 } H245IS13818AudioCapability;
2635
2636 EXTERN int asn1PE_H245IS13818AudioCapability (OOCTXT* pctxt, H245IS13818AudioCapability* pvalue);
2637
2638 EXTERN int asn1PD_H245IS13818AudioCapability (OOCTXT* pctxt, H245IS13818AudioCapability* pvalue);
2639
2640 /**************************************************************/
2641 /*                                                            */
2642 /*  G7231AnnexCCapability_g723AnnexCAudioMode                 */
2643 /*                                                            */
2644 /**************************************************************/
2645
2646 typedef struct EXTERN H245G7231AnnexCCapability_g723AnnexCAudioMode {
2647    ASN1UINT8 highRateMode0;
2648    ASN1UINT8 highRateMode1;
2649    ASN1UINT8 lowRateMode0;
2650    ASN1UINT8 lowRateMode1;
2651    ASN1UINT8 sidMode0;
2652    ASN1UINT8 sidMode1;
2653 } H245G7231AnnexCCapability_g723AnnexCAudioMode;
2654
2655 EXTERN int asn1PE_H245G7231AnnexCCapability_g723AnnexCAudioMode (OOCTXT* pctxt, H245G7231AnnexCCapability_g723AnnexCAudioMode* pvalue);
2656
2657 EXTERN int asn1PD_H245G7231AnnexCCapability_g723AnnexCAudioMode (OOCTXT* pctxt, H245G7231AnnexCCapability_g723AnnexCAudioMode* pvalue);
2658
2659 /**************************************************************/
2660 /*                                                            */
2661 /*  G7231AnnexCCapability                                     */
2662 /*                                                            */
2663 /**************************************************************/
2664
2665 typedef struct EXTERN H245G7231AnnexCCapability {
2666    struct {
2667       unsigned g723AnnexCAudioModePresent : 1;
2668    } m;
2669    ASN1USINT maxAl_sduAudioFrames;
2670    ASN1BOOL silenceSuppression;
2671    H245G7231AnnexCCapability_g723AnnexCAudioMode g723AnnexCAudioMode;
2672 } H245G7231AnnexCCapability;
2673
2674 EXTERN int asn1PE_H245G7231AnnexCCapability (OOCTXT* pctxt, H245G7231AnnexCCapability* pvalue);
2675
2676 EXTERN int asn1PD_H245G7231AnnexCCapability (OOCTXT* pctxt, H245G7231AnnexCCapability* pvalue);
2677
2678 /**************************************************************/
2679 /*                                                            */
2680 /*  GSMAudioCapability                                        */
2681 /*                                                            */
2682 /**************************************************************/
2683
2684 typedef struct EXTERN H245GSMAudioCapability {
2685    ASN1USINT audioUnitSize;
2686    ASN1BOOL comfortNoise;
2687    ASN1BOOL scrambled;
2688 } H245GSMAudioCapability;
2689
2690 EXTERN int asn1PE_H245GSMAudioCapability (OOCTXT* pctxt, H245GSMAudioCapability* pvalue);
2691
2692 EXTERN int asn1PD_H245GSMAudioCapability (OOCTXT* pctxt, H245GSMAudioCapability* pvalue);
2693
2694 /**************************************************************/
2695 /*                                                            */
2696 /*  G729Extensions                                            */
2697 /*                                                            */
2698 /**************************************************************/
2699
2700 typedef struct EXTERN H245G729Extensions {
2701    struct {
2702       unsigned audioUnitPresent : 1;
2703    } m;
2704    ASN1USINT audioUnit;
2705    ASN1BOOL annexA;
2706    ASN1BOOL annexB;
2707    ASN1BOOL annexD;
2708    ASN1BOOL annexE;
2709    ASN1BOOL annexF;
2710    ASN1BOOL annexG;
2711    ASN1BOOL annexH;
2712 } H245G729Extensions;
2713
2714 EXTERN int asn1PE_H245G729Extensions (OOCTXT* pctxt, H245G729Extensions* pvalue);
2715
2716 EXTERN int asn1PD_H245G729Extensions (OOCTXT* pctxt, H245G729Extensions* pvalue);
2717
2718 /**************************************************************/
2719 /*                                                            */
2720 /*  VBDCapability                                             */
2721 /*                                                            */
2722 /**************************************************************/
2723
2724 typedef struct EXTERN H245VBDCapability {
2725    struct H245AudioCapability *type;
2726 } H245VBDCapability;
2727
2728 EXTERN int asn1PE_H245VBDCapability (OOCTXT* pctxt, H245VBDCapability* pvalue);
2729
2730 EXTERN int asn1PD_H245VBDCapability (OOCTXT* pctxt, H245VBDCapability* pvalue);
2731
2732 /**************************************************************/
2733 /*                                                            */
2734 /*  NoPTAudioTelephonyEventCapability                         */
2735 /*                                                            */
2736 /**************************************************************/
2737
2738 typedef struct EXTERN H245NoPTAudioTelephonyEventCapability {
2739    ASN1GeneralString audioTelephoneEvent;
2740 } H245NoPTAudioTelephonyEventCapability;
2741
2742 EXTERN int asn1PE_H245NoPTAudioTelephonyEventCapability (OOCTXT* pctxt, H245NoPTAudioTelephonyEventCapability* pvalue);
2743
2744 EXTERN int asn1PD_H245NoPTAudioTelephonyEventCapability (OOCTXT* pctxt, H245NoPTAudioTelephonyEventCapability* pvalue);
2745
2746 /**************************************************************/
2747 /*                                                            */
2748 /*  NoPTAudioToneCapability                                   */
2749 /*                                                            */
2750 /**************************************************************/
2751
2752 typedef struct EXTERN H245NoPTAudioToneCapability {
2753    ASN1OCTET __dummy__;
2754 } H245NoPTAudioToneCapability;
2755
2756 EXTERN int asn1PE_H245NoPTAudioToneCapability (OOCTXT* pctxt, H245NoPTAudioToneCapability* pvalue);
2757
2758 EXTERN int asn1PD_H245NoPTAudioToneCapability (OOCTXT* pctxt, H245NoPTAudioToneCapability* pvalue);
2759
2760 /**************************************************************/
2761 /*                                                            */
2762 /*  AudioCapability                                           */
2763 /*                                                            */
2764 /**************************************************************/
2765
2766 /* Choice tag constants */
2767
2768 #define T_H245AudioCapability_nonStandard 1
2769 #define T_H245AudioCapability_g711Alaw64k 2
2770 #define T_H245AudioCapability_g711Alaw56k 3
2771 #define T_H245AudioCapability_g711Ulaw64k 4
2772 #define T_H245AudioCapability_g711Ulaw56k 5
2773 #define T_H245AudioCapability_g722_64k  6
2774 #define T_H245AudioCapability_g722_56k  7
2775 #define T_H245AudioCapability_g722_48k  8
2776 #define T_H245AudioCapability_g7231     9
2777 #define T_H245AudioCapability_g728      10
2778 #define T_H245AudioCapability_g729      11
2779 #define T_H245AudioCapability_g729AnnexA 12
2780 #define T_H245AudioCapability_is11172AudioCapability 13
2781 #define T_H245AudioCapability_is13818AudioCapability 14
2782 #define T_H245AudioCapability_g729wAnnexB 15
2783 #define T_H245AudioCapability_g729AnnexAwAnnexB 16
2784 #define T_H245AudioCapability_g7231AnnexCCapability 17
2785 #define T_H245AudioCapability_gsmFullRate 18
2786 #define T_H245AudioCapability_gsmHalfRate 19
2787 #define T_H245AudioCapability_gsmEnhancedFullRate 20
2788 #define T_H245AudioCapability_genericAudioCapability 21
2789 #define T_H245AudioCapability_g729Extensions 22
2790 #define T_H245AudioCapability_vbd       23
2791 #define T_H245AudioCapability_audioTelephonyEvent 24
2792 #define T_H245AudioCapability_audioTone 25
2793 #define T_H245AudioCapability_extElem1  26
2794
2795 typedef struct EXTERN H245AudioCapability {
2796    int t;
2797    union {
2798       /* t = 1 */
2799       H245NonStandardParameter *nonStandard;
2800       /* t = 2 */
2801       ASN1USINT g711Alaw64k;
2802       /* t = 3 */
2803       ASN1USINT g711Alaw56k;
2804       /* t = 4 */
2805       ASN1USINT g711Ulaw64k;
2806       /* t = 5 */
2807       ASN1USINT g711Ulaw56k;
2808       /* t = 6 */
2809       ASN1USINT g722_64k;
2810       /* t = 7 */
2811       ASN1USINT g722_56k;
2812       /* t = 8 */
2813       ASN1USINT g722_48k;
2814       /* t = 9 */
2815       H245AudioCapability_g7231 *g7231;
2816       /* t = 10 */
2817       ASN1USINT g728;
2818       /* t = 11 */
2819       ASN1USINT g729;
2820       /* t = 12 */
2821       ASN1USINT g729AnnexA;
2822       /* t = 13 */
2823       H245IS11172AudioCapability *is11172AudioCapability;
2824       /* t = 14 */
2825       H245IS13818AudioCapability *is13818AudioCapability;
2826       /* t = 15 */
2827       ASN1USINT g729wAnnexB;
2828       /* t = 16 */
2829       ASN1USINT g729AnnexAwAnnexB;
2830       /* t = 17 */
2831       H245G7231AnnexCCapability *g7231AnnexCCapability;
2832       /* t = 18 */
2833       H245GSMAudioCapability *gsmFullRate;
2834       /* t = 19 */
2835       H245GSMAudioCapability *gsmHalfRate;
2836       /* t = 20 */
2837       H245GSMAudioCapability *gsmEnhancedFullRate;
2838       /* t = 21 */
2839       H245GenericCapability *genericAudioCapability;
2840       /* t = 22 */
2841       H245G729Extensions *g729Extensions;
2842       /* t = 23 */
2843       H245VBDCapability *vbd;
2844       /* t = 24 */
2845       H245NoPTAudioTelephonyEventCapability *audioTelephonyEvent;
2846       /* t = 25 */
2847       H245NoPTAudioToneCapability *audioTone;
2848       /* t = 26 */
2849    } u;
2850 } H245AudioCapability;
2851
2852 EXTERN int asn1PE_H245AudioCapability (OOCTXT* pctxt, H245AudioCapability* pvalue);
2853
2854 EXTERN int asn1PD_H245AudioCapability (OOCTXT* pctxt, H245AudioCapability* pvalue);
2855
2856 /**************************************************************/
2857 /*                                                            */
2858 /*  Capability_h233EncryptionReceiveCapability                */
2859 /*                                                            */
2860 /**************************************************************/
2861
2862 typedef struct EXTERN H245Capability_h233EncryptionReceiveCapability {
2863    ASN1UINT8 h233IVResponseTime;
2864 } H245Capability_h233EncryptionReceiveCapability;
2865
2866 EXTERN int asn1PE_H245Capability_h233EncryptionReceiveCapability (OOCTXT* pctxt, H245Capability_h233EncryptionReceiveCapability* pvalue);
2867
2868 EXTERN int asn1PD_H245Capability_h233EncryptionReceiveCapability (OOCTXT* pctxt, H245Capability_h233EncryptionReceiveCapability* pvalue);
2869
2870 /**************************************************************/
2871 /*                                                            */
2872 /*  _SeqOfH245NonStandardParameter                            */
2873 /*                                                            */
2874 /**************************************************************/
2875
2876 /* List of H245NonStandardParameter */
2877 typedef DList H245_SeqOfH245NonStandardParameter;
2878
2879 EXTERN int asn1PE_H245_SeqOfH245NonStandardParameter (OOCTXT* pctxt, H245_SeqOfH245NonStandardParameter* pvalue);
2880
2881 EXTERN int asn1PD_H245_SeqOfH245NonStandardParameter (OOCTXT* pctxt, H245_SeqOfH245NonStandardParameter* pvalue);
2882
2883 /**************************************************************/
2884 /*                                                            */
2885 /*  ConferenceCapability                                      */
2886 /*                                                            */
2887 /**************************************************************/
2888
2889 typedef struct EXTERN H245ConferenceCapability {
2890    struct {
2891       unsigned nonStandardDataPresent : 1;
2892       unsigned videoIndicateMixingCapabilityPresent : 1;
2893       unsigned multipointVisualizationCapabilityPresent : 1;
2894    } m;
2895    H245_SeqOfH245NonStandardParameter nonStandardData;
2896    ASN1BOOL chairControlCapability;
2897    ASN1BOOL videoIndicateMixingCapability;
2898    ASN1BOOL multipointVisualizationCapability;
2899 } H245ConferenceCapability;
2900
2901 EXTERN int asn1PE_H245ConferenceCapability (OOCTXT* pctxt, H245ConferenceCapability* pvalue);
2902
2903 EXTERN int asn1PD_H245ConferenceCapability (OOCTXT* pctxt, H245ConferenceCapability* pvalue);
2904
2905 /**************************************************************/
2906 /*                                                            */
2907 /*  MediaEncryptionAlgorithm                                  */
2908 /*                                                            */
2909 /**************************************************************/
2910
2911 /* Choice tag constants */
2912
2913 #define T_H245MediaEncryptionAlgorithm_nonStandard 1
2914 #define T_H245MediaEncryptionAlgorithm_algorithm 2
2915 #define T_H245MediaEncryptionAlgorithm_extElem1 3
2916
2917 typedef struct EXTERN H245MediaEncryptionAlgorithm {
2918    int t;
2919    union {
2920       /* t = 1 */
2921       H245NonStandardParameter *nonStandard;
2922       /* t = 2 */
2923       ASN1OBJID *algorithm;
2924       /* t = 3 */
2925    } u;
2926 } H245MediaEncryptionAlgorithm;
2927
2928 EXTERN int asn1PE_H245MediaEncryptionAlgorithm (OOCTXT* pctxt, H245MediaEncryptionAlgorithm* pvalue);
2929
2930 EXTERN int asn1PD_H245MediaEncryptionAlgorithm (OOCTXT* pctxt, H245MediaEncryptionAlgorithm* pvalue);
2931
2932 /**************************************************************/
2933 /*                                                            */
2934 /*  EncryptionCapability                                      */
2935 /*                                                            */
2936 /**************************************************************/
2937
2938 /* List of H245MediaEncryptionAlgorithm */
2939 typedef DList H245EncryptionCapability;
2940
2941 EXTERN int asn1PE_H245EncryptionCapability (OOCTXT* pctxt, H245EncryptionCapability* pvalue);
2942
2943 EXTERN int asn1PD_H245EncryptionCapability (OOCTXT* pctxt, H245EncryptionCapability* pvalue);
2944
2945 /**************************************************************/
2946 /*                                                            */
2947 /*  AuthenticationCapability                                  */
2948 /*                                                            */
2949 /**************************************************************/
2950
2951 typedef struct EXTERN H245AuthenticationCapability {
2952    struct {
2953       unsigned nonStandardPresent : 1;
2954       unsigned antiSpamAlgorithmPresent : 1;
2955    } m;
2956    H245NonStandardParameter nonStandard;
2957    ASN1OBJID antiSpamAlgorithm;
2958 } H245AuthenticationCapability;
2959
2960 EXTERN int asn1PE_H245AuthenticationCapability (OOCTXT* pctxt, H245AuthenticationCapability* pvalue);
2961
2962 EXTERN int asn1PD_H245AuthenticationCapability (OOCTXT* pctxt, H245AuthenticationCapability* pvalue);
2963
2964 /**************************************************************/
2965 /*                                                            */
2966 /*  IntegrityCapability                                       */
2967 /*                                                            */
2968 /**************************************************************/
2969
2970 typedef struct EXTERN H245IntegrityCapability {
2971    struct {
2972       unsigned nonStandardPresent : 1;
2973    } m;
2974    H245NonStandardParameter nonStandard;
2975 } H245IntegrityCapability;
2976
2977 EXTERN int asn1PE_H245IntegrityCapability (OOCTXT* pctxt, H245IntegrityCapability* pvalue);
2978
2979 EXTERN int asn1PD_H245IntegrityCapability (OOCTXT* pctxt, H245IntegrityCapability* pvalue);
2980
2981 /**************************************************************/
2982 /*                                                            */
2983 /*  EncryptionAuthenticationAndIntegrity                      */
2984 /*                                                            */
2985 /**************************************************************/
2986
2987 typedef struct EXTERN H245EncryptionAuthenticationAndIntegrity {
2988    struct {
2989       unsigned encryptionCapabilityPresent : 1;
2990       unsigned authenticationCapabilityPresent : 1;
2991       unsigned integrityCapabilityPresent : 1;
2992    } m;
2993    H245EncryptionCapability encryptionCapability;
2994    H245AuthenticationCapability authenticationCapability;
2995    H245IntegrityCapability integrityCapability;
2996 } H245EncryptionAuthenticationAndIntegrity;
2997
2998 EXTERN int asn1PE_H245EncryptionAuthenticationAndIntegrity (OOCTXT* pctxt, H245EncryptionAuthenticationAndIntegrity* pvalue);
2999
3000 EXTERN int asn1PD_H245EncryptionAuthenticationAndIntegrity (OOCTXT* pctxt, H245EncryptionAuthenticationAndIntegrity* pvalue);
3001
3002 /**************************************************************/
3003 /*                                                            */
3004 /*  H235SecurityCapability                                    */
3005 /*                                                            */
3006 /**************************************************************/
3007
3008 typedef struct EXTERN H245H235SecurityCapability {
3009    H245EncryptionAuthenticationAndIntegrity encryptionAuthenticationAndIntegrity;
3010    H245CapabilityTableEntryNumber mediaCapability;
3011 } H245H235SecurityCapability;
3012
3013 EXTERN int asn1PE_H245H235SecurityCapability (OOCTXT* pctxt, H245H235SecurityCapability* pvalue);
3014
3015 EXTERN int asn1PD_H245H235SecurityCapability (OOCTXT* pctxt, H245H235SecurityCapability* pvalue);
3016