1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 // ---------------------------------------------------------------------- 19 // 20 // This Software is an original work of authorship of PacketVideo Corporation. 21 // Portions of the Software were developed in collaboration with NTT DoCoMo, 22 // Inc. or were derived from the public domain or materials licensed from 23 // third parties. Title and ownership, including all intellectual property 24 // rights in and to the Software shall remain with PacketVideo Corporation 25 // and NTT DoCoMo, Inc. 26 // 27 // ----------------------------------------------------------------------- 28 29 // ============================================================ 30 31 // FILE: AnalyzePER.h 32 33 // 34 35 // DESCRIPTION: PER analysis support routine prototypes. 36 37 // These routines provide support for the automatically 38 39 // generated functions in h245_analysis.[ch]. 40 41 // 42 43 // Written by Ralph Neff, PacketVideo, 3/6/2000 44 45 // (c) 2000 PacketVideo Corp. 46 47 // ============================================================ 48 49 50 #ifndef ANALYZEPER 51 52 #define ANALYZEPER 53 54 #include "genericper.h" 55 56 #define ANALYZER_PERE 0x0002 // (assume tags are fixed) 57 #define ANALYZER_PEREH 0x0004 58 #define ANALYZER_PERD 0x0008 59 #define ANALYZER_PERDH 0x0010 60 61 /*=========================================================*/ 62 63 /*============ Function Prototypes ========================*/ 64 65 /*=========================================================*/ 66 67 /* Base-Level Interface */ 68 69 void Show245(uint16 tag, uint16 indent, const char *inString); 70 71 void ShowHexData(uint16 tag, uint16 indent, uint16 size, uint8* data); 72 73 /* Low-Level Objects */ 74 75 void ShowPERNull(uint16 tag, uint16 indent, const char *label); 76 77 void ShowPERBoolean(uint16 tag, uint16 indent, const char *label, uint32 value); 78 79 void ShowPERInteger(uint16 tag, uint16 indent, const char *label, uint32 value); 80 81 void ShowPERSignedInteger(uint16 tag, uint16 indent, const char *label, int32 value); 82 83 void ShowPERUnboundedInteger(uint16 tag, uint16 indent, const char *label, uint32 value); 84 85 void ShowPEROctetString(uint16 tag, uint16 indent, const char *label, PS_OCTETSTRING x); 86 87 void ShowPERBitString(uint16 tag, uint16 indent, const char *label, PS_BITSTRING x); 88 89 void ShowPERCharString(uint16 tag, uint16 indent, const char *label, PS_int8STRING x); 90 91 void ShowPERObjectID(uint16 tag, uint16 indent, const char *label, PS_OBJECTIDENT x); 92 93 /* Higher Level Objects */ 94 95 void ShowPERChoice(uint16 tag, uint16 indent, const char *label, const char *typestring); 96 97 void ShowPERSequence(uint16 tag, uint16 indent, const char *label, const char *typestring); 98 99 void ShowPERSequenceof(uint16 tag, uint16 indent, const char *label, const char *typestring); 100 101 void ShowPERSetof(uint16 tag, uint16 indent, const char *label, const char *typestring); 102 103 void ShowPERClosure(uint16 tag, uint16 indent, const char *label); 104 105 /* Arrays of Multiple Objects */ 106 107 void ShowPERIntegers(uint16 tag, uint16 indent, const char *label, uint32 value, uint32 number); 108 109 void ShowPEROctetStrings(uint16 tag, uint16 indent, const char *label, PS_OCTETSTRING x, uint32 number); 110 111 #endif 112