Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

92 lines
2.4 KiB

/*++
Copyright (c) 2002 Microsoft Corporation
Module Name:
idedump.h
Abstract:
Dump data structures used by IDE/ATA when generating IDE-specific dump
information. These data structures are shared by ATAPI and the ATAPI
debugger extension used to debug dump failures.
NOTE: The structure is an on-disk structure, so it must be the same
for x86 and all other architectures.
Author:
Matthew D Hendel (math) 15-April-2002
Revision History:
--*/
// {CA01AC1C-9D65-42c9-8DAF-CF24EF8885C8}
DEFINE_GUID(ATAPI_DUMP_ID, 0xca01ac1c, 0x9d65, 0x42c9, 0x8d, 0xaf, 0xcf, 0x24, 0xef, 0x88, 0x85, 0xc8);
#ifndef _IDEDUMP_H_
#define _IDEDUMP_H_
#include <ntdddisk.h>
typedef ULONG ATAPI_DUMP_BMSTATUS;
#define ATAPI_DUMP_BMSTATUS_NO_ERROR (0)
#define ATAPI_DUMP_BMSTATUS_NOT_REACH_END_OF_TRANSFER (1 << 0)
#define ATAPI_DUMP_BMSTATUS_ERROR_TRANSFER (1 << 1)
#define ATAPI_DUMP_BMSTATUS_INTERRUPT (1 << 2)
#define ATAPI_DUMP_BMSTATUS_SUCCESS(x)\
((x & ~ATAPI_DUMP_BMSTATUS_INTERRUPT) == 0)
//
// Dead Meat Reasons
//
enum {
DeadMeatEnumFailed = 1,
DeadMeatReportedMissing,
DeadMeatTooManyTimeout,
DeadMeatByKilledPdo,
DeadMeatReplacedByUser
};
#include <pshpack8.h>
typedef struct _ATAPI_DUMP_COMMAND_LOG {
UCHAR Cdb[16];
IDEREGS InitialTaskFile;
IDEREGS FinalTaskFile;
LARGE_INTEGER StartTime;
LARGE_INTEGER EndTime;
ATAPI_DUMP_BMSTATUS BmStatus;
UCHAR SenseData[3];
UCHAR SrbStatus;
} ATAPI_DUMP_COMMAND_LOG, *PATAPI_DUMP_COMMAND_LOG;
#include <poppack.h>
#define ATAPI_DUMP_COMMAND_LOG_COUNT (40)
#define ATAPI_DUMP_RECORD_VERSION (0x01)
#include <pshpack1.h>
typedef struct _ATAPI_DUMP_PDO_INFO {
UCHAR Version : 7;
UCHAR WriteCacheEnable : 1;
UCHAR TargetId;
UCHAR DriveRegisterStatus;
UCHAR BusyStatus;
UCHAR FullVendorProductId[41];
UCHAR FullProductRevisionId[8 + 1];
UCHAR FullSerialNumber[20 * 2 + 1];
ULONG Reason;
ULONG TransferModeSelected;
ULONG ConsecutiveTimeoutCount;
ULONG DmaTransferTimeoutCount;
ULONG FlushCacheTimeoutCount;
ULONG IdeCommandLogIndex;
ATAPI_DUMP_COMMAND_LOG CommandLog[ATAPI_DUMP_COMMAND_LOG_COUNT];
} ATAPI_DUMP_PDO_INFO, *PATAPI_DUMP_PDO_INFO;
#include <poppack.h>
#endif // _IDEDUMP_H_