summaryrefslogtreecommitdiff
path: root/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInfo.h
blob: 0a24ada655cfd946b78fb3f3ffb4461fc2d2f7c7 (plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/** @file
  Module to clarify system event log of smbios structure.

  Copyright (c) 2005-2011, Intel Corporation. All rights reserved. <BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef _SMBIOS_EVENT_LOG_INFO_H_
#define _SMBIOS_EVENT_LOG_INFO_H_

#define END_OF_LOG  0xFF

#pragma pack(1)

typedef struct {
  UINT8 Type;
  UINT8 Length;
  UINT8 Year;
  UINT8 Month;
  UINT8 Day;
  UINT8 Hour;
  UINT8 Minute;
  UINT8 Second;
  UINT8 LogVariableData[1];
} LOG_RECORD_FORMAT;

typedef struct {
  UINT8 OEMReserved[5];
  UINT8 Metw;           // Multiple Event Time Window
  UINT8 Meci;           // Multiple Event Count Increment
  UINT8 CMOSAddress;    // Pre-boot Event Log Reset - CMOS Address
  UINT8 CMOSBitIndex;   // Pre-boot Event Log Reset - CMOS Bit Index
  UINT8 StartingOffset; // CMOS Checksum - Starting Offset
  UINT8 ByteCount;      // CMOS Checksum - Byte Count
  UINT8 ChecksumOffset; // CMOS Checksum - Checksum Offset
  UINT8 Reserved[3];
  UINT8 HeaderRevision;
} LOG_HEADER_TYPE1_FORMAT;

#pragma pack()
//
// System Event Log (Type 15)
//

/**
  Function to display system event log access information.

  @param[in] Key    Additional information to print.
  @param[in] Option Whether to print the additional information.
**/
VOID
DisplaySELAccessMethod (
  IN CONST UINT8 Key,
  IN CONST UINT8 Option
  );

/**
  Function to display system event log status information.

  @param[in] Key    Additional information to print.
  @param[in] Option Whether to print the additional information.
**/
VOID
DisplaySELLogStatus (
  UINT8 Key,
  UINT8 Option
  );

/**
  Function to display system event log header format information.

  @param[in] Key    Additional information to print.
  @param[in] Option Whether to print the additional information.
**/
VOID
DisplaySysEventLogHeaderFormat (
  UINT8 Key,
  UINT8 Option
  );

/**
  Function to display system event log header information.

  @param[in] LogHeaderFormat  Format identifier.
  @param[in] LogHeader        Format informcation.
**/
VOID
DisplaySysEventLogHeader (
  UINT8 LogHeaderFormat,
  UINT8 *LogHeader
  );

/**
  Function to display system event log data.

  @param[in] LogData        The data information.
  @param[in] LogAreaLength  Length of the data.
**/
VOID
DisplaySysEventLogData (
  UINT8   *LogData,
  UINT16  LogAreaLength
  );

#endif