Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

DIFF support file format.

This file contains changes to the main NSD-DATABASE file.
The file contents is in network format.

The file is a transfer, with a header and a number of data segments.

- File starts with 32bit value 'XFRF'
- header with:
  - 8bit: commit=1(IXFR is OK) or rollback=0(ignore that IXFR). 
  - 32 bit number of packets that are to be applied. 0 if file not completed.
  - timestamp of endtime of download (64bitsec,32bitusec).
  - 32 bit old serial number. (to check that db-serial is unchanged).
    or 0 if no serial available yet.
  - 32 bit new serial number.
  - timestamp of starttime of download (64bitsec,32bitusec).
  - zone name (string).
  - pattern name: so that a newly created zone for which the zone transfer
	is processed before the config-add task can be created. same string
	format with 32bitcount with name of the pattern.

- a number of parts that start with 'XXFR'
- 32 bits length field.
- length bytes of content.
	contents is the IXFR or AXFR packet contents, max 64K. 
- 32 bits repeat of the length field.

at end of file a log string space for a text string message
(preceded by 32bitcount), i.e.  'at time <stamp> came from <addr>, tsig
checked with key <key>'.  or rejected <reason for rejection>.

The length fields and type fields check that the input is formatted,
and complete otherwise an error occurred (like, disk failure).
The commit flag is only set after the write of the entire file has
completed (rewind, overwrite commit value with true).