48 #define TAG_BASE_SHIFT 7 49 #define LONG_LENGTH_BASE_SHIFT 8 52 #define SMALL_TAG_MASK 0x1F 53 #define LARGE_TAG_MASK 0x7F 54 #define LAST_TAG_OCTET_MASK 0x80 55 #define LONG_LENGTH_TEST_MASK 0x80 56 #define LONG_LENGTH_MASK 0x7F 58 #define INT_OBJ_CHOICE_COMPS 2 71 static int readingTagNotLength =
TRUE;
96 while (listPtr != NULL)
110 if (unknownPtr != NULL)
112 printf(
"ERROR: tag %d has unrecognized items\n", listPtr->
tag );
114 start1Ptr = unknownPtr;
116 while (unknownPtr != NULL)
118 printf(
" unkTag %d posn %d\n",
122 unknownPtr = unknownPtr->
next;
128 fpa1_rdfTestList( listPtr->
children );
130 listPtr = listPtr->
next;
144 int tag, vpa1_filePosTag, tagClass;
155 if (readingTagNotLength ==
FALSE)
157 printf(
"ERROR: reading tag when should be reading length.\n" );
191 tag += tagClass * 1000;
194 readingTagNotLength =
FALSE;
216 if (readingTagNotLength ==
TRUE)
218 printf(
"ERROR: reading length when should be reading tag.\n" );
234 while (lengthCount > 0)
243 readingTagNotLength =
TRUE;
286 intValue = ((content > 127) ? (~0xFF | content) : content);
289 while (intLength-- > 0)
321 if (readingTagNotLength ==
TRUE)
343 int oldReadTag = readingTagNotLength;
345 if (readingTagNotLength ==
TRUE)
365 readingTagNotLength = oldReadTag;
378 readingTagNotLength =
TRUE;
427 intValue = ((content > 127) ? (~0xFF | content) : content);
431 while (intLength > 0)
#define LAST_TAG_OCTET_MASK
Contains functions/globals used to read MHEG-5 ASN.1 scripts.
int fpa1_GenericDataCount
fpa1_syntaxList * fpa1_parseScriptASN(unsigned char *asndata, unsigned long len)
Top level entry point to the ASN.1 script to fpa1_syntaxList converter. This function takes the origi...
int fpa1_rdfGetInteger(vpa1_filePos intLength)
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
#define INT_OBJ_CHOICE_COMPS
Typedefs, macros used by all of parser. These may be duplicated elsewhere.
struct fpa1_syntaxItem * children
int fpa1_rdfGetNextByte(void)
unsigned char * fpa1_currentBufferStart
void fpa1_rdfMoveToContents(void)
Typedefs for script reading functions.
Contains macros for MHEG-5 ASN.1 tags and structures.
vpa1_filePos fpa1_rdfGetNextTagPosn(void)
vpa1_filePos nextTagPosition
int fpa1_GroupActionCount
syntax item block manager Contains functions to create a mini memory manager for allocating syntax li...
unsigned char * fpa1_outputBufferStart
int fpa1_delList(fpa1_syntaxList *firstComp)
vpa1_filePos fpa1_rdfGetContentLength(void)
#define LONG_LENGTH_BASE_SHIFT
#define LONG_LENGTH_TEST_MASK
int fpa1_rdfGetByteAbsolute(vpa1_filePos pos)
Contains memory management functions.
unsigned long fpa1_currentBufferOffset
unsigned long fpa1_outputBufferOffset
int fpa1_rdfGetBooleanAbsolute(vpa1_filePos pos)
int fpa1_rdfGetIntegerAbsolute(vpa1_filePos pos, int intLength)
unsigned long fpa1_currentBufferLength
struct fpa1_syntaxItem * next
vpa1_filePos fpa1_rdfGetCurrentFilePosition(void)
int fpa1_rdfSetNewFilePosition(vpa1_filePos newPosition)
fpa1_syntaxList * fpa1_choiceParse(int *)
fpa1_syntaxList * fpa1_synGetUnknowns(vpa1_filePos, vpa1_filePos, fpa1_syntaxList *)