# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named actions.txt) can be more easily read using the following iki_read commands:
# iki_read actions.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named entry.txt) can be more easily read using the following iki_read commands:
# iki_read entry.txt +Q -r PID PID -w -WW code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named exit.txt) can be more easily read using the following iki_read commands:
# iki_read exit.txt +Q -w -r PID PID -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named packet.txt) can be more easily read using the following iki_read commands:
# iki_read packet.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named rule.txt) can be more easily read using the following iki_read commands:
# iki_read rule.txt +Q -r PID PID -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named simulate.txt) can be more easily read using the following iki_read commands:
# iki_read simulate.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named entry.txt) can be more easily read using the following iki_read commands:
# iki_read entry.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named exit.txt) can be more easily read using the following iki_read commands:
# iki_read exit.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named packet.txt) can be more easily read using the following iki_read commands:
# iki_read packet.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named rule.txt) can be more easily read using the following iki_read commands:
# iki_read rule.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named task.txt) can be more easily read using the following iki_read commands:
# iki_read task.txt +Q -w -W code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
#
# This file (assumed to be named time.txt) can be more easily read using the following iki_read commands:
# iki_read time.txt +Q -r UTC UTC -w -WW character "'" "'" code '"' '"'
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named defines.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named dependencies.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license: open-standard-license-1.0
+# license: open-standard-license-1.0-or-later
# version 2024/03/23
#
# This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2024/01/15
#
# This file (assumed to be named fss-0000.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2024/01/15
#
# This file (assumed to be named fss-0001.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2024/01/15
#
# This file (assumed to be named fss-0002.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2024/01/15
#
# This file (assumed to be named fss-0003.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-0004.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-0005.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-0006.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-0007.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-0008.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
-# version 2023/07/14
+# license open-standard-license-1.0-or-later
+# version 2024/06/11
#
# This file (assumed to be named fss-0009.txt) can be more easily read using the following iki_read commands:
# iki_read fss-0009.txt +Q -w -WW character "'" "'" code '"' '"'
White space separates an Object from the Content.
An Object may be preceded by a new line, in which case means that the Object has no Content.
If only printing white spaces or non-printable characters precedes a valid Object, then that Object is considered to have no Content.
- An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+ An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave (backtick) character:'`' (unicode:"U+0060") are used to quote.
An Object is only considered quoted if the first and last character of the Object are the same quote.
Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
-# version 2023/07/14
+# license open-standard-license-1.0-or-later
+# version 2024/06/11
#
# This file (assumed to be named fss-000a.txt) can be more easily read using the following iki_read commands:
# iki_read fss-000a.txt +Q -w -WW character "'" "'" code '"' '"'
White space separates an Object from the Content.
An Object may be followed by a new line, in which case means that the Object has no Content.
If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
- An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+ An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave (backtick) character:'`' (unicode:"U+0060") are used to quote.
An Object is only considered quoted if the first and last character of the Object are the same quote.
Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-000b.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-000c.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-000d.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# 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:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
-# version 2023/11/14
+# license open-standard-license-1.0-or-later
+# version 2024/06/05
#
# 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 '"' '"'
#
Featureless Settings Specification: 000f - Simple Packet:
- This is a network packet format that contains code:"FSS-000e (Payload)" within it.
+ This is a network packet format that often contains code:"FSS-000e (Payload)" within it.
+
+ The bold:"Magic Block" when containing code:"FSS-000e (Payload)" in the bold:"Payload Block" is: code:"11010010100111101111010000111110".
+
+ The bold:"Magic Block" when containing unspecified plain text in the bold:"Payload Block" is: code:"00101110000001001101110001000010".
+
+ The bold:"Magic Block" when containing unspecified binary data in the bold:"Payload Block" is: code:"00010101101001001111000000001000".
The bold:"Simple Packet" structure is described in blocks, of which are structured in bytes.
- There are only three blocks in this format\:
+ There are three or four blocks in this format\:
1) Control Block.
2) Size Block.
- 3) Payload Block.
+ 3) Magic Block.
+ 4) Payload Block.
The bold:"Control Block" is the first block in the packet and is considered endianless.
There exists only a single byte within the bold:"Control Block" (8-bits).
Regardless of the endianness of the packet, leftmost bit is always the endianness bit.
The second bit following that endianness bit represents the italic:"string" or italic:"binary" bit.
+ The third bit following the endiannes bit represents the magic bit.
Control Block Structure\:
code:"
- [ Endianness Bit ] [ String / Binary Bit ] [ Remaining 6 Bits (unused) ]
- [ size: 1 bit ] [ size: 1 bit ] [ size: 6 bits ]
+ [ Endianness Bit ] [ String / Binary Bit ] [ Magic Bit ] [ Remaining 5 Bits (unused) ]
+ [ size: 1 bit ] [ size: 1 bit ] [ size: 1 bit ] [ size: 5 bits ]
"
The endianness bit designates whether or not the packet is in big endian or little endian format.
A bit value of 0 designates that this packet is in little endian and a value of 1 designates that this packet is in big endian format.
All italic:"binary" data within this packet, following the Control Block, must respect this endianness bit (including the bold:"Size Block").
+ The magic bit designates whether or not the packet contains the optional bold:"Magic Block".
+ When the magic bit is not set, then there is no bold:"Magic Block".
+
The italic:"string" or italic:"binary" bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in italic:"binary" format.
- While the packet might be considered to be in string format, it is technically always in italic:"binary" format due to the bold:"Control Block" and bold:"Size Block".
+ While the packet might be considered to be in string format, it is technically always in italic:"binary" format due to the bold:"Control Block", the optional bold:"Magic Block", and bold:"Size Block".
This means that the italic:"binary" bit designating the packet as either a italic:"string" packet or a italic:"binary" packet is referring to whether or not the bold:"Payload Block" is in italic:"string" or italic:"binary" format.
The bold:"Payload Block" itself can contain italic:"binary" data even when in italic:"string" format as per code:"FSS-000e (Payload)".
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".
+ 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)-5".
+ The bold:"Magic Block" is 4 bytes long, therefore when the magic bit is set, then the maximum available size of the entire bold:"Simple Packet" structure is code:"(2^32)-9".
The reason behind why the size includes both the bold:"Control Block" and the bold:"Size Block" in addition to the bold:"Payload Block" is to avoid the need to perform any calculations for handling the size of the entire packet. The idea here is to optimize the packet for the network hardware transferring the packet. The network device should not need to read the contents of the packet in order to transfer the packet and therefore it only needs the number of the entire packet. Anything that wants to analyze this packet will have to incure the cost of calculating the bold:"Payload Block" size by performing the appropriate subtraction from the size represented in the bold:"Size Block".
+ Magic Block Structure\:
+ code:"
+ [ Size Block ]
+ [ size: 32 bits ]
+ "
+
+ The bold:"Magic Block" is an unsigned 32-bit digit used to uniquely identify the packet.
+ The 32-bits are treated as endianless such that the left to right order of the bits is always the same for both big and little endian systems.
+ The bold:"Magic Block" is required when the magic bit is set and it must not exist when the magic bit is not set.
+
+ This offers optimization in identifying the packet and its structure.
+ This is particularly useful for quick identification on the network such as via routers.
+ This is particularly useful for storing the packet as a file.
+ This is particularly unhelpful for security and privacy given that it helps quickly identify the packet.
+
Payload Block Structure\:
code:"
- [ Payload Block ]
- [ size: (2^32)-6 bytes ]
+ [ Payload Block ]
+ [ size: (2^32)-5 bytes (or (2^32)-9 bytes if magic bit is set) ]
"
- The bold:"Payload Block" is not defined by this standard other than that it exists and should be in code:"FSS-000e (Payload)" format.
+ The bold:"Payload Block" is not defined by this standard other than that it exists and is suggested to be in code:"FSS-000e (Payload)" format.
+ If the bold:"Magic Block" is present and set to code:"11010010100111101111010000111110", then this is expected to be in code:"FSS-000e (Payload)" format.
The code:"FSS-000e (Payload)" may be represented in either italic:"string" format or italic:"binary" format.
The code:"FSS-000e (Payload)" may contain multiple italic:"header"(s) but may only contain a single italic:"payload".
With this in mind, it is recommended that only a single italic:"header" be supported in the bold:"Payload Block".
[ Control Block ] [ Size Block ] [ Payload Block ]
[ 0b10000000 ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ size: 1229 (1234 - 5) ]
"
+
+ Example Packet Structure with Magic Bit\:
+ code:"
+ [ Control Block ] [ Size Block ] [ Magic Block ] [ Payload Block ]
+ [ 0b10100000 ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ 0b11010010 0b10011110 0b11110100 0b00111110 ] [ size: 1225 (1234 - 9) ]
+ "
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/16
#
# This file (assumed to be named fss-0010.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2024/01/15
#
# This file (assumed to be named fss.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named iki-0000.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named iki-0001.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named iki-0002.txt) can be more easily read using the following iki_read commands:
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
-# version 2024/03/29
+# license open-standard-license-1.0-or-later
+# version 2024/06/11
#
# This file (assumed to be named iki.txt) can be more easily read using the following iki_read commands:
# iki_read iki.txt +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
White space, non-word, and non character:"_" (unicode:"U+005F"), character:"-" (unicode:"U+002D"), character:"+" (unicode:"U+002B")) character punctuations may not exist as part of the variable name.
The only Unicode dash-like characters allowed as a "dash" are those intended to connect, such as the Unicode hyphens (unicode:"U+2010" and unicode:"U+2011").
- Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash character:"\\" before the colon character:":" that is before the opening quote (single, double, or backtic). Potential IKI data refers to any valid IKI sequence without considering the closing single quote character:"'" (unicode:"U+0027"), closing double quote character:'"' (unicode:"U+0022"), or closing grave character:'`' (unicode:"U+0060").
+ Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash character:"\\" before the colon character:":" that is before the opening quote (single, double, or grave (backtick)). Potential IKI data refers to any valid IKI sequence without considering the closing single quote character:"'" (unicode:"U+0027"), closing double quote character:'"' (unicode:"U+0022"), or closing grave character:'`' (unicode:"U+0060").
Unicode punctuation connector characters are supported just like character:"_", except when they connect outside the current line (such as unicode:"U+FE33" character:"︳").
Unicode invisible punctuations (such as invisible plus: unicode:"U+2064") are not considered a punctuations in this standard (because they a zero-width characters), therefore they are not to be considered a valid character:"_", character:"-", or character:"+" Unicode equivalents.
# fss-0002 iki-0000
#
-# license open-standard-license-1.0
+# license open-standard-license-1.0-or-later
# version 2023/12/16
#
# This file (assumed to be named time.txt) can be more easily read using the following iki_read commands:
The only Unicode dash-like characters allowed as a "dash" are those intended to connect, such as the Unicode hyphens (<code class="code">U+2010</code> and <code class="code">U+2011</code>).
</p>
<p class="p">
- Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash <code class="code">\</code> before the colon <code class="code">:</code> that is before the opening quote (single, double, or backtic). Potential IKI data refers to any valid IKI sequence without considering the closing single quote <code class="code">'</code> (<code class="code">U+0027</code>), closing double quote <code class="code">"</code> (<code class="code">U+0022</code>), or closing grave <code class="code">`</code> (<code class="code">U+0060)</code>.
+ Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash <code class="code">\</code> before the colon <code class="code">:</code> that is before the opening quote (single, double, or grave (backtick)). Potential IKI data refers to any valid IKI sequence without considering the closing single quote <code class="code">'</code> (<code class="code">U+0027</code>), closing double quote <code class="code">"</code> (<code class="code">U+0022</code>), or closing grave <code class="code">`</code> (<code class="code">U+0060)</code>.
</p>
<p class="p">
Unicode punctuation connector characters are supported just like <code class="code">_</code>, except when they connect outside the current line (such as <code class="code">U+FE33</code> <code class="code">︳</code>).