# fss-0002 iki-0000
#
# license open-standard-license-1.0-or-later
# version 2024/03/12
#
# This file (assumed to be named fss-000e.txt) can be more easily read using the following iki_read commands:
#   iki_read fss-000e.txt +Q -w -rr EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' italic '"' '"'
#
# To read the "Featureless Settings Specification: 000e - Payload" section of this file, use this command sequence:
#   fss_basic_list_read fss-000e.txt +Q -cn "Featureless Settings Specification: 000e - Payload" | iki_read +Q -w -r EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' italic '"' '"'
#

Featureless Settings Specification: 000e - Payload:
  This is a code:"FSS-0002 (Basic List)" with one required object and two optional objects\:
  1) italic:"header".
  2) italic:"signature" (optional).
  3) italic:"payload" (optional).

  The italic:"header"\:
  - The italic:"header"'s Content is of type code:"FSS-0001 (Extended)".
  - The italic:"header" is recommended to have the Objects italic:"length", italic:"status", italic:"part", italic:"total", and italic:"type".
  - The italic:"header" is suggested to have the Objects italic:"salt" and italic:"time".
  - The recommended italic:"length" represents the size of the italic:"payload".
  - The recommended italic:"part" represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.
  - The recommended italic:"status" represents status codes (such as success or failure) and multiple.
  - The recommended italic:"total" represents the total number of parts representing a complete data transmitted across multiple payloads.
  - The recommended italic:"type" represents the type of information being transmitted.
  - The suggested italic:"salt" represents random arbitrary data to further assist in making packets more unique during compression.
  - The suggested italic:"time" represents some form of time unit, such as a time stamp.
  - The Content for the recommended italic:"length" and italic:"status" are positive whole numbers (including zero) that may be in italic:"binary", italic:"octal", italic:"decimal", italic:"duodecimal", or italic:"hexidecimal" numerical format.
  - There may be multiple italic:"header" Object and associated Content but the behavior is not defined by this standard.
  - For guaranteed safe and compatible behavior, only a single italic:"header" Object and associated Content should be defined.

  The italic:"signature"\:
  - The italic:"signature"'s Content is of type code:"FSS-0001 (Extended)".
  - This is an optional Object and Content set.
  - This is intended to be used to specify signatures and checksums, such as GPG signatures or SHA256 checksums.
  - This can be used to sign or provide checksums on italic:"header" and the italic:"payload".
  - There may be multiple italic:"signature" Object and associated Content but the behavior is not defined by this standard.
  - For guaranteed safe and compatible behavior, only a single italic:"signature" Object and associated Content should be defined.

  The italic:"payload"\:
  - The italic:"payload"'s Content may contain anything, including raw binary data.
  - The italic:"payload" is italic:"required" to be the last list Object in the file, if present.
  - The italic:"payload" is recommended to have its size designated in some manner in the italic:"header" (such as with the recommended italic:"length").
  - The italic:"payload" is terminated by the EOF:"End of File" character or by the recommended italic:"length" header.
  - The italic:"payload" may be empty (length may be zero).
  - Nothing in the italic:"payload" may be considered a valid list Object by the outer code:"FSS-0002 (Basic List)" and therefore escaping is unnecessary (No further processing by the outer code:"FSS-0002 (Basic List)" is allowed at this point).
  - Comments in the italic:"payload" are not considered comments and are instead considered part of the payload, as-is.
  - Essentially, the italic:"payload" should be treated as binary data embedded in a text file.
  - There may only be a single italic:"payload" Object and associated Content.
  - Any italic:"payload" Object and associated Content that is not the last must not have its Content data treated as binary in the same way as the last italic:"payload" Object and associated Content.

  The recommended italic:"length" italic:"header" Object used to designate the italic:"payload" size does not necessarily have to be defined in the italic:"header".
  That is to say, if the italic:"payload" is expected to be of some pre-defined or static length then a length does not need to be provided in the italic:"header".

  The recommended italic:"status" italic:"header" Object may be a string, such as code:"F_okay", or a positive whole number.
  What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent FLL:"Featureless Linux Library" status code.
  - The FLL:"Featureless Linux Library" status code is a 16-bit digit whose first two high-order bits represent italic:"error" and italic:"warning" (representing italic:"signal").
  - The FLL:"Featureless Linux Library" status code as a number is binary sensitive and may not be portable across binaries or systems.
  - For best portability, consider using status as a name string to ensure cross-system or cross-binary compatibility.

  Example\:
    \# fss-000e
    \# valid comments are ignored.
    header\:
      type error
      status 296
      length 30

    signature\:
      header sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
      header type md5 cb5e100e5a9a3e7f6d1fd97512215282
      payload sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9

    payload\:
    The program is out of memory.

  Outer Objects would be\:
    1) header
    2) signature
    3) payload

  "header" Objects would be\:
    1.1) type
    1.2) status
    1.3) length

  "header" Contents would be\:
    1.1.1) error
    1.2.1) 296
    1.3.1) 30

  "signature" Objects would be\:
    2.1) header
    2.2) header
    2.3) payload

  "signature" Contents would be\:
    2.1.1) sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
    2.2.1) type md5 cb5e100e5a9a3e7f6d1fd97512215282
    2.3.1) sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9

  The payload would be\:
    3) The program is out of memory.
