The "header" Object contains the following FSS-0001 Extended Objects (depending on "type")\:
- action: A valid action type: "freeze", "kill", "pause", "reboot", "reload", "rerun", "restart", "resume", "shutdown", "start", "stop", or "thaw".
- - length: A positive whole number inclusively between 0 and 4294965248 representing the length of the "payload".
- - status: The status code name or number representing an FSS status code, such as F_none, F_failure, or 200 (where a number may have error and warning bits).
+ - length: A positive whole number inclusively between 0 and 4294965248 representing the length of the "payload" (may be in binary, octal, decimal, duodecimal, or hexidecimal).
+ - status: The status code name or number representing an FSS status code, such as F_none, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
- type: The packet type that is one of "error" and "controller".
When there are multiple Objects of the same name inside the "header"\:
- action: The order represents the order in which the actions are performed.
- - length: There may only be one length Object, all others after the first are ignored.
- - status: A status for each action, in the same order as the order of the action.
+ - length: There may only be one length Object, all others after the first are ignored (may be in binary, octal, decimal, duodecimal, or hexidecimal).
+ - status: A status for each action, in the same order as the order of the action, such as F_none, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
- type: The first represent the type and all others represents a sub-type.
There are different headers and payload properties based on the "type".
The fss-0001 Object "part" with the Content being a whole positive number is suggested to be used to represent the number identifying which part of the whole it is.
The payload may contain anything, including NULL characters.
The payload is terminated by the EOF (end of file) character or when a some designated length is reached.
- The length used to designate the payload size does not necesserily have to be defined in the 'header".
+ The length used to designate the payload size does not necessarily have to be defined in the 'header".
That is to say, if the payload is expected to be of some pre-defined or static length then a length does even if that length is not provided in the "header".
Nothing in the payload may be considered a valid list Object and therefore there will be no escaping allowed (No further fss-0002 Basic List Objects are allowed at this point).
Comments are not considered comments inside the payload and are instead considered part of the payload, as-is.
The payload may be empty (length may be zero), but the list Object "payload" must still exist.
+ The length and status may be in binary, octal, decimal, duodecimal, or hexidecimal numerical format.
+ The status may alternatively be represented as the status name string.
+ What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent FLL status codes.
+ The status, when representing an FLL status code as a number, may contain error and warning bit.
+ The status, when representing an FLL status code as a number, the status number is binary sensitive and may not be portable across binaries or systems.
+ For FLL status codes, consider using status as a name string to ensure cross-system or cross-binary compatibility.
+
Other than the reserved list Objects "header" and "payload" any other valid Object may be specified.
Example\: