Vector BLF
Vector::BLF::Most150AllocTab Struct Referencefinal

MOST_150_ALLOCTAB. More...

#include <Most150AllocTab.h>

Inheritance diagram for Vector::BLF::Most150AllocTab:
Inheritance graph
Collaboration diagram for Vector::BLF::Most150AllocTab:
Collaboration graph

Public Member Functions

void read (AbstractFile &is) override
 
void write (AbstractFile &os) override
 
DWORD calculateObjectSize () const override
 
- Public Member Functions inherited from Vector::BLF::ObjectHeader2
 ObjectHeader2 (const ObjectType objectType)
 
void read (AbstractFile &is) override
 
void write (AbstractFile &os) override
 
WORD calculateHeaderSize () const override
 
DWORD calculateObjectSize () const override
 
- Public Member Functions inherited from Vector::BLF::ObjectHeaderBase
 ObjectHeaderBase (const WORD headerVersion, const ObjectType objectType)
 
 ObjectHeaderBase (const ObjectHeaderBase &)=default
 
ObjectHeaderBaseoperator= (const ObjectHeaderBase &)=default
 
 ObjectHeaderBase (ObjectHeaderBase &&)=default
 
ObjectHeaderBaseoperator= (ObjectHeaderBase &&)=default
 

Public Attributes

WORD channel {}
 application channel More...
 
WORD eventModeFlags {}
 determines the data layout More...
 
WORD freeBytes {}
 number of free bytes after the operation More...
 
WORD length {}
 number of bytes in tableData More...
 
ULONGLONG reservedMost150AllocTab {}
 
std::vector< BYTE > tableData {}
 
- Public Attributes inherited from Vector::BLF::ObjectHeader2
DWORD objectFlags {ObjectFlags::TimeOneNans}
 object flags More...
 
BYTE timeStampStatus {}
 time stamp status More...
 
BYTE reservedObjectHeader {0}
 
WORD objectVersion {0}
 object specific version More...
 
ULONGLONG objectTimeStamp {0}
 object timestamp More...
 
ULONGLONG originalTimeStamp {0}
 original object timestamp More...
 
- Public Attributes inherited from Vector::BLF::ObjectHeaderBase
DWORD signature {ObjectSignature}
 signature (ObjectSignature) More...
 
WORD headerSize {}
 sizeof object header More...
 
WORD headerVersion {}
 header version (1) More...
 
DWORD objectSize {}
 object size More...
 
ObjectType objectType {}
 object type More...
 

Additional Inherited Members

- Public Types inherited from Vector::BLF::ObjectHeader2
enum  ObjectFlags : DWORD { TimeTenMics = 0x00000001 , TimeOneNans = 0x00000002 }
 
enum  TimeStampStatus : BYTE { Orig = 0x01 , SwHw = 0x02 , User = 0x10 }
 

Detailed Description

MOST_150_ALLOCTAB.

Transports current state and changes of the MOST50/150 Allocation Table.

Member Function Documentation

◆ calculateObjectSize()

DWORD Vector::BLF::Most150AllocTab::calculateObjectSize ( ) const
overridevirtual

Calculates the objectSize

Returns
object size

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ read()

void Vector::BLF::Most150AllocTab::read ( AbstractFile is)
overridevirtual

Read the data of this object

Parameters
isinput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

◆ write()

void Vector::BLF::Most150AllocTab::write ( AbstractFile os)
overridevirtual

Write the data of this object

Parameters
osoutput stream

Reimplemented from Vector::BLF::ObjectHeaderBase.

Member Data Documentation

◆ channel

WORD Vector::BLF::Most150AllocTab::channel {}

application channel

Application channel

◆ eventModeFlags

WORD Vector::BLF::Most150AllocTab::eventModeFlags {}

determines the data layout

Determines the data layout (see below)

◆ freeBytes

WORD Vector::BLF::Most150AllocTab::freeBytes {}

number of free bytes after the operation

Number of free bytes after the operation

  • Max. 116 with SBC=29 for MOST50
  • Max. 372 with SBC=93 for MOST150

◆ length

WORD Vector::BLF::Most150AllocTab::length {}

number of bytes in tableData

Length of variable data in bytes. The value must be a multiple of 4.

◆ reservedMost150AllocTab

ULONGLONG Vector::BLF::Most150AllocTab::reservedMost150AllocTab {}

reserved

◆ tableData

std::vector<BYTE> Vector::BLF::Most150AllocTab::tableData {}

Allocation Table data

The data layout tableData depends on bit 0 of eventModeFlags.

If bit 0 of eventModeFlags is clear tableData contains length/4 records with the following fields. (Other data layouts are not specified yet.)

  • Bit 0..12 (LabelIdent): Synchronous Connection Label
  • Bit 12..15 (LabelStatus):
    • 0: label unchanged
    • 4: label has been added (allocated)
    • 8: label has been removed (de-allocated) List removed labels at the end of the table! Listing of removed labels is optional.
  • Bit 16..31 (LabelWidth): Width of the label in bytes

Data layout: if((eventModeFlags & 0x0001) == 0) layout A: SLLLWWWWSLLLWWWWSLLLWWWW... if((eventModeFlags & 0x0001) == 0x0001) layout B: SLLLWWWW< channels >SLLLWWWW< channels >SLLLWWWW< channels >...

  • S: status flags
    • 0x4: 1: new label (alloc)
    • 0x8: 1: this label has been removed (dealloc)
  • LLL: label number
  • WWWW: label width
  • < channels >: list of 16-bit channel numbers (size = label width)

The documentation for this struct was generated from the following files: