ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

badblock.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.