summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halfire/ppc/fpnvram.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/nthals/halfire/ppc/fpnvram.h')
-rw-r--r--private/ntos/nthals/halfire/ppc/fpnvram.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/private/ntos/nthals/halfire/ppc/fpnvram.h b/private/ntos/nthals/halfire/ppc/fpnvram.h
new file mode 100644
index 000000000..a4a0c03b4
--- /dev/null
+++ b/private/ntos/nthals/halfire/ppc/fpnvram.h
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 1995 FirePower Systems, Inc.
+ * DO NOT DISTRIBUTE without permission
+ *
+ * $RCSfile: fpnvram.h $
+ * $Revision: 1.4 $
+ * $Date: 1996/01/11 07:07:03 $
+ * $Locker: $
+ */
+#ifndef _PREPNVRM_H
+#define _PREPNVRM_H
+//
+// This header describes the NVRAM definition for PREP
+//
+typedef struct _SECURITY {
+ ULONG BootErrCnt; // Count of boot password errors
+ ULONG ConfigErrCnt; // Count of config password errors
+ ULONG BootErrorDT[2]; // Date&Time from RTC of last error in pw
+ ULONG ConfigErrorDT[2]; // Date&Time from RTC of last error in pw
+ ULONG BootCorrectDT[2]; // Date&Time from RTC of last correct pw
+ ULONG ConfigCorrectDT[2]; // Date&Time from RTC of last correct pw
+ ULONG BootSetDT[2]; // Date&Time from RTC of last set of pw
+ ULONG ConfigSetDT[2]; // Date&Time from RTC of last set of pw
+ UCHAR Serial[16]; // Box serial Number
+} SECURITY;
+
+typedef enum _OS_ID {
+ Unknown = 0,
+ Firmware = 1,
+ AIX = 2,
+ NT = 3,
+ MKOS2 = 4,
+ MKAIX = 5,
+ Taligent = 6,
+ Solaris = 7,
+ MK = 12
+} OS_ID;
+
+typedef struct _ERROR_LOG {
+ UCHAR ErrorLogEntry[40];
+} ERROR_LOG;
+
+typedef enum _NVRAM_BOOT_STATUS {
+ BootStarted = 0x001,
+ BootFinished = 0x002,
+ RestartStarted = 0x004,
+ RestartFinished = 0x008,
+ PowerFailStarted = 0x010,
+ PowerFailFinished = 0x020,
+ ProcessorReady = 0x040,
+ ProcessorRunning = 0x080,
+ ProcessorStart = 0x100
+} NVRAM_BOOT_STATUS;
+
+typedef struct _NVRAM_RESTART_BLOCK {
+ USHORT Version;
+ USHORT Revision;
+ ULONG ResumeReserved[2];
+ volatile ULONG BootStatus;
+ ULONG CheckSum;
+ void * RestartAddress;
+ void * SaveAreaAddr;
+ ULONG SaveAreaLength;
+} NVRAM_RESTART_BLOCK;
+
+typedef enum _OSAREA_USAGE {
+ Empty = 0,
+ Used = 1
+} OSAREA_USAGE;
+
+typedef enum _PM_MODE {
+ Suspend = 0x80,
+ Normal = 0x00
+} PMMode;
+
+typedef struct _HEADER {
+ USHORT Size; // NVRAM size in K
+ UCHAR Version; // Structure map different
+ UCHAR Revision; // Structure map same - may be new values in old fields
+ USHORT Crc1;
+ USHORT Crc2;
+ UCHAR LastOS; // OS_ID
+ UCHAR Endian; // B if big endian, L if little endian
+ UCHAR OSAreaUsage;
+ UCHAR PMMode; // Power Management shutdown mode
+ NVRAM_RESTART_BLOCK Restart;
+ SECURITY Security;
+ ERROR_LOG ErrorLog[2];
+
+ PVOID GEAddress;
+ ULONG GELength;
+ ULONG GELastWriteDT[2]; // Date&Time from RTC of last change to Global
+
+ PVOID ConfigAddress;
+ ULONG ConfigLength;
+ ULONG ConfigLastWriteDT[2]; // Date&Time from RTC of last change to Config
+ ULONG ConfigCount; // Count of entries in Configuration
+
+ PVOID OSAreaAddress;
+ ULONG OSAreaLength;
+ ULONG OSAreaLastWriteDT[2]; // Date&Time from RTC of last change to Var
+
+} HEADER, *PHEADER;
+
+#endif