Common source code for parsing IOP::IOR data, to be included by functions processing data in contiguous or managed (MemSeq) memory.  
More...
Go to the source code of this file.
 | 
| 
  | dsmAssert ((mpIorData!=NULL)) | 
|   | 
| 
  | dsmAssert ((pIorTypeId!=NULL)) | 
|   | 
| 
  | dsmAssert ((pLocation!=NULL)) | 
|   | 
| 
  | dsmAssert ((pTap!=NULL)) | 
|   | 
| 
  | MEMPTR_OPEN (mpIorData, mpIor) | 
|   | 
| 
  | ADV_UINT32_L2CHK (mpIor, ui32, ui32==4, dsmDP2(("DATA ERROR: IOR typeIdLength (!= 4) = %u\n", ui32)), goto _return_False) | 
|   | 
| 
  | READ_UINT32 (mpIor,*pIorTypeId) | 
|   | 
| 
  | READ_UINT32_L2CHK (mpIor, taggedProfilesCount, taggedProfilesCount >=1, dsmDP2(("DATA ERROR: IOR taggedProfilesCount (< 1) = %u\n", taggedProfilesCount)), goto _return_False) | 
|   | 
| 
  | READ_UINT32 (mpIor, profileIdTag) | 
|   | 
| 
  | if (profileIdTag==TAG_BIOP) | 
|   | 
| 
  | for (profileIndex=0;profileIndex< taggedProfilesCount;profileIndex++) | 
|   | 
| 
  | DEBUG_CHK (length_used!=0, dsmDP1(("ERROR: getIorInfo failure (invalid)\n"))) | 
|   | 
 | 
| MemPtr  | mpIor | 
|   | 
| 
MemPtr  | mpIorStart = mpIor | 
|   | 
| 
MemPtr  | mpIopProfile = mpIor | 
|   | 
| 
BOOLEAN  | keyValid | 
|   | 
| 
U8BIT  | ui8 = 0 | 
|   | 
| 
U16BIT  | ui16 = 0 | 
|   | 
| 
U32BIT  | ui32 = 0 | 
|   | 
| 
U32BIT  | profileIndex | 
|   | 
| 
U32BIT  | taggedProfilesCount | 
|   | 
| 
U32BIT  | profileDataLength | 
|   | 
| 
pLocation  | uiBindingTag = profileIdTag | 
|   | 
|   | else | 
|   | 
| 
goto  | _return_False | 
|   | 
| 
  | length_used = (U16BIT)(mpIopProfile - mpIorStart) | 
|   | 
| 
goto  | _return | 
|   | 
| 
_return_False  | __pad0__ | 
|   | 
| 
_return  | __pad1__ | 
|   | 
Common source code for parsing IOP::IOR data, to be included by functions processing data in contiguous or managed (MemSeq) memory. 
MEM_CONTIGUOUS
- Date
 - 28/9/2001 
 
- Author
 - R Taylor 
 
 
Initial value:{
      dsmDP2(("DATA ERROR: IOR - Invalid profileIdTag for DVB object carousel: %x\n",
              profileIdTag))