In FreeForm ND, header formats are treated the same as data formats.
This means that header formats must be identified as either input or
output, explicitly or implicitly. If done explicitly, then either the
input or the output descriptor will form the format type (e.g.,
ASCII_input_header). If done implicitly, then the same
ambiguity resolution rules that apply to data formats will be applied
to header formats. This means that ASCII header formats will be taken
as input for data files with a .dat extension, dBASE header
formats will be taken as input for data files with a .dab
extension, and binary header formats will be taken as input for all
other data files.
If an embedded header and the data have different file types, then either the header format or data format (preferably both) must be explicitly identified as input or output (for example, an ASCII header embedded in a binary data file). Obviously, ambiguous formats with different file types cannot both be resolved as input formats.
The same header format is no longer used as both an input and an output header format.
In FreeForm ND, newform honors output header formats that are
separate (e.g., ASCII_output_header_separate). The header is
written to a separate file which, unless otherwise specified, is named
after the output data file with a .hdr extension. This requires
that you name the output file using the -o option flag; redirected
output cannot be used with separate output headers. The output header
file name and path can be specified using the same keywords that tell
FreeForm ND how to find an input separate header file (i.e.,
header_file_ext, header_file_name, and
header_file_path).
When defining keywords to specify how an output header file is to be
named, you must use a new type of equivalence section,
input_eqv, which must appear in the format file along with
output_eqv.