Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1995-1996 Microsoft Corporation
Module Name:
diskarbp.h
Abstract:
This module defines the structures that are used to perform disk arbitration in clusdisk\ driver and resdll\disks disk resource. Authors:
Gor Nishanov (t-gorn) 18-June-1998
Revision History:
--*/
#ifndef _DISK_ARBITRATE_P_
#define _DISK_ARBITRATE_P_
#ifndef min
#define min( a, b ) ((a) <= (b) ? (a) : (b))
#endif
typedef struct _START_RESERVE_DATA { ULONG DiskSignature; ULONG Version; ULONG ArbitrationSector; ULONG SectorSize; USHORT NodeSignatureSize; UCHAR NodeSignature[32]; // MAX_COMPUTERNAME_LENGTH + 1
} START_RESERVE_DATA, *PSTART_RESERVE_DATA;
#define START_RESERVE_DATA_V1_SIG (sizeof(START_RESERVE_DATA))
typedef struct _ARBITRATION_ID { LARGE_INTEGER SystemTime; LARGE_INTEGER SeqNo; UCHAR NodeSignature[32]; } ARBITRATION_ID, *PARBITRATION_ID;
#define RESERVE_TIMER 3 // 3 seconds to perform reserves
//
// IOCTL_ARBITRATION_ESCAPE subcodes
//
typedef enum { AE_TEST, AE_READ, AE_WRITE, AE_POKE, AE_RESET, AE_RESERVE, AE_RELEASE, AE_SECTORSIZE } ARBITRATION_ESCAPE_SUBCODES;
typedef struct _ARBITRATION_READ_WRITE_PARAMS { ULONG Operation; ULONG SectorSize; ULONG SectorNo; PVOID Buffer; ULONG Signature; } ARBITRATION_READ_WRITE_PARAMS, * PARBITRATION_READ_WRITE_PARAMS;
#define ARBITRATION_READ_WRITE_PARAMS_SIZE sizeof(ARBITRATION_READ_WRITE_PARAMS)
#endif // _DISK_ARBITRATE_P_
|