// Copyright (c) 2007-2010, Intel Corporation. All rights reserved. [Version ( "6.0.0" ), Description ( "Represents the monitoring state associated with a single agent." )] class AMT_AgentPresenceWatchdog : CIM_Watchdog { [Description ( "Describes the current state of the monitored " "application. The possible states are: 1 - NotStarted, 2 " "- Stopped, 4 - Running, 8 - Expired, 16 - Suspended." )] uint16 CurrentState; [Required, Description ( "A seconds timer value which specifies the maximum time " "allowed for an application to start up and start sending " "application heartbeat calls (i.e., the time after system " "restart or after adding a new agent watchdog)." ), Units ( "Seconds" )] uint16 StartupInterval; [Override ( "MonitoredEntityDescription" ), Description ( "Description of the application monitored by this " "watchdog instance." ), MaxLen ( 16 )] string MonitoredEntityDescription; [Key, Override ( "DeviceID" ), Description ( "A GUID which is the AgentID for the monitored " "application encoded as Base64." ), MaxLen ( 16 ), EOBase64] string DeviceID; [Required, Override ( "TimeoutInterval" ), Description ( "The timeout interval used by the watchdog." ), Units ( "Seconds" ), MaxValue ( 65535 )] uint32 TimeoutInterval; [Description ( "This method is issued by applications that wish to start " "reporting their running state." ), ValueMap { "0", "1" }, Values { "PT_STATUS_SUCCESS", "PT_STATUS_INTERNAL_ERROR" }] uint32 RegisterAgent( [OUT, Description ( "A random sequence number returned by the Intel(R) " "AMT device. This number should be incremented by " "one in subsequent calls (when provided). After the " "counter reaches its highest possible value, it is " "rolled to zero. The sequence number is used to " "enforce detection of crashed applications which " "may have lost their handles. The sequence number " "is not intended to provide any form of security " "for this flow." )] uint32 SessionSequenceNumber, [OUT, Description ( "A seconds timer value which specifies the maximum " "time allowed between application heartbeat calls." )] uint16 TimeoutInterval); [Description ( "This method is issued periodically by applications to " "report their running state." ), ValueMap { "0", "1", "36" }, Values { "PT_STATUS_SUCCESS", "PT_STATUS_INTERNAL_ERROR", "PT_STATUS_INVALID_PARAMETER" }] uint32 AssertPresence( [Required, IN, Description ( "A random sequence number returned by the Intel(R) " "AMT device when the agent last called " "RegisterAgent. This number should be incremented " "by one." )] uint32 SequenceNumber); [Description ( "This method is issued by applications to report their " "termination state." ), ValueMap { "0", "1", "36" }, Values { "PT_STATUS_SUCCESS", "PT_STATUS_INTERNAL_ERROR", "PT_STATUS_INVALID_PARAMETER" }] uint32 AssertShutdown( [Required, IN, Description ( "A random sequence number returned by the Intel(R) " "AMT device on the former RegisterAgent call. If a " "call is made with a bad sequence number, it will " "be ignored so that an invalid agent trying to " "\'scan\' for the current sequence number receives " "a minimum amount of information. After this call " "succeeds (in such a way that the command is not " "ignored), the SequenceNumber is no longer valid " "and subsequent calls cannot be issued until " "re-registering. This number should be incremented " "by one." )] uint32 SequenceNumber); [Description ( "This method adds an action to the application watchdog." ), ValueMap { "0", "1", "23", "36", "38", "2075" }, Values { "PT_STATUS_SUCCESS", "PT_STATUS_INTERNAL_ERROR", "PT_STATUS_MAX_LIMIT_REACHED", "PT_STATUS_INVALID_PARAMETER", "PT_STATUS_FLASH_WRITE_LIMIT_EXCEEDED", "PT_STATUS_AUDIT_FAIL" }] uint32 AddAction( [Required, IN, Description ( "The last state of the application watchdog. This " "state may be set to a value containing a logical " "OR of watchdog states. The possible states are: 1 " "- NotStarted, 2 - Stopped, 4 - Running, 8 - " "Expired, 16 - Suspended." )] uint16 OldState, [Required, IN, Description ( "The current state of the application watchdog. " "This state may be set to a value containing a " "logical OR of watchdog states. The possible states " "are: 1 - NotStarted, 2 - Stopped, 4 - Running, 8 - " "Expired, 16 - Suspended." )] uint16 NewState, [Required, IN, Description ( "Specifies whether an Event should be created in " "the Event Manager when the application watchdog " "transitions from OldState to NewState." )] boolean EventOnTransition, [IN, Description ( "A System Defense Action which may be applied, when " "the application watchdog transitions from OldState " "to NewState. If the caller did not create any " "policy through AMT_AgentPresenceInterfacePolicy " "(or ConsoleWatchdogSetCbPolicy() PTNI operation), " "no policy will be activated, however if the caller " "created an AMT_AgentPresenceInterfacePolicy to " "specify a policy at later time, the policy may be " "activated immediatly according to the logical " "state which is currently maintained by the Agent " "Presence feature. This action is optional." ), ValueMap { "0", "1" }, Values { "ActivatePolicy", "DeactivatePolicy" }] uint16 ActionSd, [IN, Description ( "When this field is TRUE it enables two actions: 1. " "Information about this agent is included in an " "Intel(R) AMT EAC posture. This happens if at least " "one transition is defined as TRUE for this agent. " "Posture information includes current state and " "state counters showing how many times each state " "was entered. 2. When this specific state " "transition occurs, an avent is generated to " "indicate that Intel(R) AMT posture has changed." )] boolean ActionEac); [Description ( "This method removes all actions associated with the watchdog." ), ValueMap { "0", "1", "2075" }, Values { "PT_STATUS_SUCCESS", "PT_STATUS_INTERNAL_ERROR", "PT_STATUS_AUDIT_FAIL" }] uint32 DeleteAllActions( ); };