The version date of this specification is 2024/07/02.

The controller program communicates use the FSS-000F (Packet).

This specification declares how the Payload Block, which is in FSS-000E (Payload) format, is required to be used.

Only a single header is allowed.

Only a single payload is allowed.

Packet Structure:

  • Packet is grouped into the following blocks:

    • control: A single 1-byte block representing control codes.
    • size: A single 4-byte block representing the size of the entire packet, including the control block.

The header Object contains the following FSS-0001 (Extended Object) (depending on type):

  • action: A valid action type: freeze, kexec, 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 (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 controller, error, or init.

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 (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 controller type:

  • Supports the following headers: action, length, status, and type.
  • Only a single action may be provided and must exist for request and response packets.
  • Only a single status may be provided and must exist for response packets.
  • The payload is dependent on the action.

The error type:

  • Supports the following headers: length, status, and type.
  • Only a single status may be provided and must exist for request and response packets.
  • The payload is a NULL terminated string whose length is defined by the length header Content.

There are different headers and payload properties based on the type.

The init type:

  • Supports the following headers: action, length, status, and type.
  • Only a single action may be provided and must exist for request and response packets.
  • Only a single status may be provided and must exist for response packets.
  • The payload is dependent on the action.