2.2.2.8.3.1 Data Blocks

A data block is a block that is "External" (that is, not marked "Internal") and contains data streamed from higher layer structures. The data contained in data blocks have no meaning to the structures defined at the NDB Layer.

Unicode:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

data (variable)

...

padding (variable, optional)

...

blockTrailer (16 bytes)

...

...

ANSI:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

data (variable)

...

padding (variable, optional)

...

blockTrailer

...

...

data (variable): The value of this field SHOULD be treated as an opaque binary large object (BLOB) by the NDB Layer. The size of this field is indicated by the cb subfield of the blockTrailer field.

padding (variable, optional): This field is present if the size of the data field plus the size of the blockTrailer field is not a multiple of 64. The size of this field is the smallest number of bytes required to make the size of the data block a multiple of 64. Implementations MUST ignore this field.

blockTrailer (Unicode: 16 bytes; ANSI: 12 bytes): A BLOCKTRAILER structure (section 2.2.2.8.1).