1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//! Watchdog Architectural Protocol
//!
//! Used to implement the Boot Service SetWatchdogTimer() . The watchdog timer may be implemented in
//! software using Boot Services, or it may be implemented with specialized hardware. The protocol provides a service
//! to register a handler when the watchdog timer fires and a service to set the amount of time to wait before the
//! watchdog timer is fired.
//!
//! See <https://uefi.org/specs/PI/1.8A/V2_DXE_Architectural_Protocols.html#watchdog-timer-architectural-protocol>
//!
//! ## License
//!
//! Copyright (C) Microsoft Corporation. All rights reserved.
//!
//! SPDX-License-Identifier: BSD-2-Clause-Patent
//!
use efi;
/// Watchdog Architectrural Protocol GUID
///
/// # Documentation
/// UEFI Platform Initialization Specification, Release 1.8, Section II-12.14.1
pub const PROTOCOL_GUID: Guid =
from_fields;
/// Function type definition for watchdog timer notify.
pub type WatchdogTimerNotify = extern "efiapi" fn;
/// Registers a handler that is to be invoked when the watchdog timer fires.
///
/// # Documentation
/// UEFI Platform Initialization Specification, Release 1.8, Section II-12.14.2
pub type RegisterHandler = extern "efiapi" fn ;
/// Sets the amount of time in the future to fire the watchdog timer.
///
/// # Documentation
/// UEFI Platform Initialization Specification, Release 1.8, Section II-12.14.3
pub type SetTimerPeriod = extern "efiapi" fn ;
/// Retrieves the amount of time in 100 ns units that the system will wait before firing the watchdog timer.
///
/// # Documentation
/// UEFI Platform Initialization Specification, Release 1.8, Section II-12.14.4
pub type GetTimerPeriod = extern "efiapi" fn ;
/// Used to program the watchdog timer and optionally register a handler when the watchdog timer fires.
///
/// # Documentation
/// UEFI Platform Initialization Specification, Release 1.8, Section II-12.14.1