Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenbadblock.h
Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (C) 2006 VorontSOFT 00004 00005 Module Name: 00006 badblock.h 00007 00008 Abstract: 00009 This is the artificial badblock simulation part of the 00010 miniport driver for ATA/ATAPI IDE controllers 00011 with Busmaster DMA support 00012 00013 Author: 00014 Nikolai Vorontsov (NickViz) 00015 00016 Environment: 00017 kernel mode only 00018 00019 Notes: 00020 00021 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 00022 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00023 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00024 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 00025 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00027 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00028 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00029 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00030 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00031 00032 Revision History: 00033 2006/08/03 Initial implementation. 00034 2006/08/06 Added registry work. 00035 00036 --*/ 00037 00038 00039 #ifndef _BADBLOCK_H_INCLUDED_ 00040 #define _BADBLOCK_H_INCLUDED_ 00041 00042 #pragma pack(push, 4) 00043 typedef struct _SBadBlockRange 00044 { 00045 // ULONG m_ldev; 00046 ULONGLONG m_lbaStart; 00047 ULONGLONG m_lbaEnd; 00048 } SBadBlockRange, *PSBadBlockRange; 00049 00050 typedef struct _SBadBlockListItem { 00051 LIST_ENTRY List; 00052 PHW_LU_EXTENSION LunExt; 00053 WCHAR SerNumStr[128]; 00054 SBadBlockRange* arrBadBlocks; 00055 ULONG nBadBlocks; 00056 } SBadBlockListItem, *PSBadBlockListItem; 00057 00058 #pragma pack(pop) 00059 00060 void 00061 NTAPI 00062 InitBadBlocks( 00063 IN PHW_LU_EXTENSION LunExt 00064 ); 00065 00066 void 00067 NTAPI 00068 ForgetBadBlocks( 00069 IN PHW_LU_EXTENSION LunExt 00070 ); 00071 00072 bool 00073 NTAPI 00074 CheckIfBadBlock( 00075 IN PHW_LU_EXTENSION LunExt, 00076 // IN UCHAR command, 00077 IN ULONGLONG lba, 00078 IN ULONG count 00079 ); 00080 00081 #endif // _BADBLOCK_H_INCLUDED_ Generated on Sat May 26 2012 04:26:55 for ReactOS by
1.7.6.1
|