# fss-0002 iki-0000
#
# license open-standard-license-1.0
-# version 2023/07/14
+# version 2023/11/14
#
# 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 '"' '"'
#
Featureless Settings Specification: 000e - Payload:
- This is a code:"FSS-0002 (Basic List)" with two required objects\:
+ This is a code:"FSS-0002 (Basic List)" with two required objects and one optional object\:
1) italic:"header".
- 2) italic:"payload".
+ 2) italic:"signature" (optional).
+ 3) italic:"payload".
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", and italic:"total".
+ - The italic:"header" is recommended to have the Objects italic:"length", italic:"status", italic:"part", italic:"total", and italic:"type".
- 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:"total" represents the total number of parts representing a complete data transmitted 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 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.
- 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_none", or a positive whole number.
+ 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 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.
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) payload
+ 2) signature
+ 3) payload
"header" Objects would be\:
1.1) type
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\:
- 2) The program is out of memory.
+ 3) The program is out of memory.
# fss-0002 iki-0000
#
# license open-standard-license-1.0
-# version 2023/07/16
+# version 2023/11/14
#
# This file (assumed to be named fss-000f.txt) can be more easily read using the following iki_read commands:
# iki_read fss-000f.txt +Q -w -WWWW character "'" "'" code '"' '"' italic '"' '"' bold '"' '"'
Control Block Structure\:
code:"
- [ Endianness Bit ] [ String / Binary Bit ] [ Remaining 6 bits (unused) ]
- [ size: 2^1 ] [ size: 2^1 ] [ size: 2^6 ]
+ [ Endianness Bit ] [ String / Binary Bit ] [ Remaining 6 Bits (unused) ]
+ [ size: 1 bit ] [ size: 1 bit ] [ size: 6 bits ]
"
The endianness bit designates whether or not the packet is in big endian or little endian format.
Size Block Structure\:
code:"
- [ Size Block ]
- [ size: 2^4 ]
+ [ Size Block ]
+ [ size: 32 bits ]
"
- The bold:"Size Block" is an unsigned 32-bit integer representing the size of the entire packet, including the bold:"Control Block" and bold:"Size Block".
+ The bold:"Size Block" is an unsigned 32-bit integer representing the size of the entire packet in bytes, including the bold:"Control Block" and bold:"Size Block".
This size must exactly match the packet to be a valid packet.
The size represents number of bytes in the file.
The bold:"Control Block" is 1 byte long and the bold:"Size Block" is 4 bytes long, therefore the maximum available size of the entire bold:"Simple Packet" structure is code:"(2^32)-6".
Payload Block Structure\:
code:"
- [ Payload Block ]
- [ size: (2^32)-6 ]
+ [ Payload Block ]
+ [ size: (2^32)-6 bytes ]
"
The bold:"Payload Block" is not defined by this standard other than that it exists and should be in code:"FSS-000e (Payload)" format.