Embed:
(wiki syntax)
Show/hide line numbers
ntddtape.h
00001 /* 00002 * ntddtape.h 00003 * 00004 * Tape device IOCTL interface. 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __NTDDTAPE_H 00024 #define __NTDDTAPE_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ntddk.h" 00035 #include "ntddstor.h" 00036 00037 #define DD_TAPE_DEVICE_NAME "\\Device\\Tape" 00038 #define DD_TAPE_DEVICE_NAME_U L"\\Device\\Tape" 00039 00040 #define IOCTL_TAPE_BASE FILE_DEVICE_TAPE 00041 00042 #define IOCTL_TAPE_CHECK_VERIFY CTL_CODE(IOCTL_TAPE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) 00043 #define IOCTL_TAPE_CREATE_PARTITION CTL_CODE(IOCTL_TAPE_BASE, 0x000a, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00044 #define IOCTL_TAPE_ERASE CTL_CODE(IOCTL_TAPE_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00045 #define IOCTL_TAPE_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) 00046 #define IOCTL_TAPE_GET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS) 00047 #define IOCTL_TAPE_GET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS) 00048 #define IOCTL_TAPE_GET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS) 00049 #define IOCTL_TAPE_GET_STATUS CTL_CODE(IOCTL_TAPE_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS ) 00050 00051 #define IOCTL_TAPE_PREPARE CTL_CODE(IOCTL_TAPE_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) 00052 #define IOCTL_TAPE_SET_DRIVE_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00053 #define IOCTL_TAPE_SET_MEDIA_PARAMS CTL_CODE(IOCTL_TAPE_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS) 00054 #define IOCTL_TAPE_SET_POSITION CTL_CODE(IOCTL_TAPE_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS) 00055 #define IOCTL_TAPE_WRITE_MARKS CTL_CODE(IOCTL_TAPE_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) 00056 00057 00058 typedef enum _TAPE_DRIVE_PROBLEM_TYPE { 00059 TapeDriveProblemNone, 00060 TapeDriveReadWriteWarning, 00061 TapeDriveReadWriteError, 00062 TapeDriveReadWarning, 00063 TapeDriveWriteWarning, 00064 TapeDriveReadError, 00065 TapeDriveWriteError, 00066 TapeDriveHardwareError, 00067 TapeDriveUnsupportedMedia, 00068 TapeDriveScsiConnectionError, 00069 TapeDriveTimetoClean, 00070 TapeDriveCleanDriveNow, 00071 TapeDriveMediaLifeExpired, 00072 TapeDriveSnappedTape 00073 } TAPE_DRIVE_PROBLEM_TYPE; 00074 00075 #ifdef __cplusplus 00076 } 00077 #endif 00078 00079 #endif /* __NTDDTAPE_H */
Generated on Tue Jul 12 2022 19:59:55 by
1.7.2