NT4/private/ntos/nthals/halfire/ppc/fpnvram.h
2020-09-30 17:12:29 +02:00

106 lines
2.6 KiB
C

/*
* 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