private TS_BITMAPCACHE_PERSISTENT_LIST_PDU ParseTsPersistentListPdu(byte[] data, ref int currentIndex)
{
TS_BITMAPCACHE_PERSISTENT_LIST_PDU pdu = new TS_BITMAPCACHE_PERSISTENT_LIST_PDU();
// TS_CONTROL_PDU: shareDataHeader
pdu.shareDataHeader = ParseTsShareDataHeader(data, ref currentIndex);
pdu.numEntriesCache0 = ParseUInt16(data, ref currentIndex, false);
pdu.numEntriesCache1 = ParseUInt16(data, ref currentIndex, false);
pdu.numEntriesCache2 = ParseUInt16(data, ref currentIndex, false);
pdu.numEntriesCache3 = ParseUInt16(data, ref currentIndex, false);
pdu.numEntriesCache4 = ParseUInt16(data, ref currentIndex, false);
pdu.totalEntriesCache0 = ParseUInt16(data, ref currentIndex, false);
pdu.totalEntriesCache1 = ParseUInt16(data, ref currentIndex, false);
pdu.totalEntriesCache2 = ParseUInt16(data, ref currentIndex, false);
pdu.totalEntriesCache3 = ParseUInt16(data, ref currentIndex, false);
pdu.totalEntriesCache4 = ParseUInt16(data, ref currentIndex, false);
pdu.bBitMask = (bBitMask_Values)ParseByte(data, ref currentIndex);
pdu.Pad2 = ParseByte(data, ref currentIndex);
pdu.Pad3 = ParseUInt16(data, ref currentIndex, false);
pdu.entries = new List<TS_BITMAPCACHE_PERSISTENT_LIST_ENTRY>();
while (currentIndex < data.Length)
{
pdu.entries.Add(ParseEntry(data, ref currentIndex));
}
return pdu;
}