
  TYPE
    nlt$bm_message_descriptor = record
      link: ^nlt$bm_message_descriptor,       { Pointer to the next descriptor.
      container: ^nlt$bm_container,            { Pointer to a container, should never change.
      container_length: nlt$bm_buffer_length , { Length of the container.
      data_start: nlt$bm_buffer_length,        { data_start + 1 indexes to the first byte of data.
      pool_index: nlt$bm_pool_index,           { Indexes the buffer pools.  Determines whether large or small.
      sub_pool_index: nlt$bm_sub_pool_index,   { 0 represents a static buffer non zero indexes the sub pool.
      sequence_number: nlt$bm_sequence_number, { Updated each time the message is changed.
      received_message: nlt$received_message_descriptor, { Additional info on received data.
    recend,

    nlt$bm_container = string (*),

    nlt$bm_sub_pool_index = 0 .. 0ffff(16);

*copyc nlt$bm_buffer_length
*copyc nlt$bm_pool_index
*copyc nlt$bm_sequence_number
*copyc nlt$received_message_descriptor
