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\, ui32)), goto _return_False) |
| |
|
| READ_UINT32 (mpIor, *pIorTypeId) |
| |
|
| READ_UINT32_L2CHK (mpIor, taggedProfilesCount, taggedProfilesCount >=1, dsmDP2(("DATA ERROR: IOR taggedProfilesCount (< 1) = %u\, 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)\))) |
| |
|
| 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
◆ else
Initial value:{
dsmDP2(("DATA ERROR: IOR - Invalid profileIdTag for DVB object carousel: %x\n",
profileIdTag))
◆ mpIor