Documentation - FSS Identify
Author: Kevin Day
Description: FSS Identify program documentation.
Keywords: Kevin Day, Kevux, FLL, Featureless, Linux, Library, FSS, FSS Identify, Open-Source

# FSS Identify Documentation

The fss_identify program is a tool for processing strings in an attempt to identify the FSS file format based on FSS header comments.

This program doesn't perforrm any special heuristic. It only checks for the special FSS header and reports what it finds.

This tool is designed to be scriptable but does not accept piped input.

## Standard Parameters

Short | Long | Description
--- | --- | ---
`-h` | `--help` | Print the help message.
`+C` | `++copyright` | Print the copyright.
`+d` | `++dark` | Output using colors that show up better on dark backgrounds.
`+l` | `++light` | Output using colors that show up better on light backgrounds.
`+n` | `++no_color` | Do not print using color.
`+Q` | `++quiet` | Decrease verbosity, silencing most output.
`+E` | `++error` | Decrease verbosity, using only error output.
`+N` | `++normal` | Set verbosity to normal.
`+V` | `++verbose` | Increase verbosity beyond normal output.
`+D` | `++debug` | Enable debugging, significantly increasing verbosity beyond normal output.
`+v` | `++version` | Print only the version number.

The `+Q/++quiet` parameter silences all output that is not the intent and purpose of the program.
For example, the purpose of the utf8 program is to print the Unicode code point or the UTF-8 byte code.
The `+Q/++quiet` will not suppress this output.
The new line printed at the end of the program, is however, not printed.
The `+Q/++quiet` is ideal for using in scripting to help guarantee more consistent and controlled output.

The `+N/++no_color` simplifies the output to avoid the special color character codes.
The special color character codes tend to take up a lot of extra space and may slow down printing performance.

## Program Parameters

Short | Long | Description
--- | --- | ---
`-c` | `--content` | Print the Identifier content (the 4-digit hexidecimal type code).
`-o` | `--object` | Print the Identifier object (the name).
`-l` | `--line` | Print only the Identifier at the given line.
`-n` | `--name` | Select FSS using this full or partial type name or code.
`-t` | `--total` | Print the total Identifiers found.

The `--line` parameter refers to the file lines and not the lines in a given file.

If neither the `--object` nor `--content` are specified, then the default behavior is to print both.

When specifying the `--total` parameter, neither the `--object` nor the `--content` parameter may be specified.

An FSS file is identified by the format "`# Object-Content`" where the Object, is a machine-name representing the name and may only consist of "word" characters and the Content is a 4-digit hexidecimal number representing a particular variant of the Object.
This identifier, if provided, must exist on the first line in a file and must begin with the pound character: "`#`".
White space must follow this pound character.
There may be multiple Object and Content pairs, separated by white space, such as: "`# FSS-0002 FSS-0000 iki-0002`".