KasperskyOS Community Edition 1.3

Hardware platform firmware communication endpoint

The endpoint is intended for interaction with embedded software (firmware) of the hardware platform via the EFI interface.

Information about methods of the endpoint is provided in the table below.

Methods of the efi.Efi endpoint (kl.core.Efi interface)

Method

Method purpose and parameters

Potential danger of the method

GetTime

Purpose

Lets you get the current time from the time source on the hardware platform and the characteristics of this source.

Parameters

  • [out] time – structure containing time information.
  • [out] capabilities – structure containing the characteristics of the time source.
  • [out] rc – return code.

N/A

SetTime

Purpose

Sets the current time in the time source on the hardware platform.

Parameters

  • [in] time – structure containing time information.
  • [out] rc – return code.

Lets you set the current time in the time source on the hardware platform.

GetVariable

Purpose

Lets you get the value of the EFI variable.

Parameters

  • [in] variableName – sequence containing the name of a variable with a terminating zero.
  • [in] vendorGuid – structure containing the unique ID of the vendor related to the variable.
  • [out] attributes – value whose bits are interpreted as attributes of a variable.
  • [out] dataSizeReal – size (bytes) of data received via the data parameter.
  • [out] data – sequence containing the value of the variable.
  • [out] rc – return code.

Gets values of EFI variables that could contain critical system information.

GetNextVariableName

Purpose

Enumerates the names of EFI variables.

Parameters

  • [in] variableNamePrev – sequence containing the name of the variable with a terminating zero obtained during the previous call of the GetNextVariableName method, or null if the GetNextVariableName method is being called for the first time.
  • [in] vendorGuidPrev – structure containing the unique ID of the vendor related to the variable whose name was received during the previous call of the GetNextVariableName method, or null if the GetNextVariableName method is being called for the first time.
  • [out] variableNameSizeReal – size (bytes) of data received via the variableNameNext parameter.
  • [out] variableNameNext – sequence containing the name of a variable with a terminating zero.
  • [out] vendorGuidNext – structure containing the unique ID of the vendor related to the variable.
  • [out] rc – return code.

Gets the names of EFI variables that could contain critical system information.

SetVariable

Purpose

Specifies the value of the EFI variable.

Parameters

  • [in] variableName – sequence containing the name of a variable with a terminating zero.
  • [in] vendorGuid – structure containing the unique ID of the vendor related to the variable.
  • [in] attributes – value whose bits are interpreted as attributes of the variable.
  • [in] data – sequence containing the value of the variable.
  • [out] rc – return code.

Lets you set the value of the EFI variable.

QueryVariableInfo

Purpose

Gets information about EFI variables.

Parameters

  • [in] attributes – value whose bits are interpreted as the types of those variables whose information you need to get.
  • [out] maximumVariableStorageSize – size (bytes) of memory that is intended for storing variables of specific types.
  • [out] remainingVariableStorageSize – size (bytes) of the unused portion of memory that is intended for storing variables of specific types.
  • [out] maximumVariableSize – maximum size (bytes) of variables of specific types.
  • [out] rc – return code.

N/A

ResetSystem

Purpose

Restarts the hardware platform.

Parameters

  • [in] resetType – value that defines the restart type, such as cold or hot restart.
  • [in] resetStatus – code that indicates the restart status, such as normal restart or restart due to malfunction.
  • [in] resetData – sequence containing information about the causes of restarts.
  • [out] rc – return code.

Lets you restart the hardware platform.