aspilib.h
上传用户:xmgzy123
上传日期:2007-01-07
资源大小:373k
文件大小:3k
源码类别:

SCSI/ASPI

开发平台:

WINDOWS

  1. /*
  2.  * aspilib.h - Copyright (C) 1999 Jay A. Key
  3.  *
  4.  * Generic routines to access wnaspi32.dll
  5.  *
  6.  **********************************************************************
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License as published by
  10.  * the Free Software Foundation; either version 2 of the License, or
  11.  * (at your option) any later version.
  12.  *
  13.  * This program is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  * GNU General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU General Public License
  19.  * along with this program; if not, write to the Free Software
  20.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  21.  *
  22.  **********************************************************************
  23.  *
  24.  * $Id: aspilib.h,v 1.2 2000/02/25 10:47:37 akey Exp $
  25.  * $Date: 2000/02/25 10:47:37 $
  26.  * $Locker:  $
  27.  * $Log: aspilib.h,v $
  28.  * Revision 1.2  2000/02/25 10:47:37  akey
  29.  * sync'ed with akrip32.dll v0.94
  30.  *
  31.  * Revision 1.3  2000/02/14 09:56:25  akey
  32.  * cleaned up #ifdef _DEBUG code considerably
  33.  *
  34.  * Revision 1.2  2000/01/03 12:29:43  akey
  35.  * v0.91 release -- added CDDB and bug fixes
  36.  *
  37.  *
  38.  */
  39. #ifndef _ASPILIB_H_
  40. #define _ASPILIB_H_
  41. #include "myaspi32.h"
  42. #include "akrip32.h"
  43. #define DEFWAITLEN    4000
  44. #define READERRREC    0x01
  45. #define CDRPARMS      0x0D
  46. #define CDRAUDIOCTL   0x0E
  47. #define CDRCAPS       0x2A
  48. typedef BYTE ReadErrorRecoveryParmsMask[8];
  49. typedef BYTE CDRomParmsMask[8];
  50. typedef BYTE CDRomCapabilitiesStatusMask[20];
  51. typedef BYTE CDRomAudioControlMask[16];
  52. typedef struct
  53. {
  54.   ReadErrorRecoveryParmsMask  rer;
  55.   CDRomParmsMask              cpm;
  56.   CDRomCapabilitiesStatusMask ccsm;
  57.   CDRomAudioControlMask       cacm;
  58.   BOOL                        rerAvail;
  59.   BOOL                        cpmAvail;
  60.   BOOL                        ccsmAvail;
  61.   BOOL                        cacmAvail;
  62. } SENSEMASK, *PSENSEMASK, FAR *LPSENSEMASK;
  63. int getSCSIDevType( BYTE bHostAdapter, BYTE bTarget, BYTE bLUN,
  64.     LPBYTE pDevType, LPSTR lpDevType, int iDevTypeLen );
  65. typedef DWORD (*CDREADFN)( HCDROM hCD, LPTRACKBUF t );
  66. typedef DWORD (*CDDEINIT)( HCDROM hCD );
  67. typedef struct {
  68.   BOOL bInit;
  69. } R6INIT;
  70. typedef struct {
  71.   BOOL bInit;
  72. } R10INIT;
  73. typedef union {
  74.   R6INIT r6;
  75.   R10INIT r10;
  76. } CDINIT;
  77. typedef struct {
  78.   BYTE      ha;
  79.   BYTE      tgt;
  80.   BYTE      lun;
  81.   BYTE      readType;
  82.   BOOL      used;
  83.   BOOL      bMSF;
  84.   BOOL      bInit;
  85.   SENSEMASK sm;
  86.   BOOL      smRead;
  87.   CDREADFN  pfnRead;
  88.   CDDEINIT  pfnDeinit;
  89.   int       numCheck;     // used for jitter correction
  90.   int       numOverlap;   // ...
  91.   int       readMode;
  92. } CDHANDLEREC;
  93. #define MAXCDHAND 16
  94. #define TIMEOUT    (10*1000)
  95. DWORD readCDAudioLBA_ANY( HCDROM hCD, LPTRACKBUF t );
  96. DWORD readCDAudioLBA_ATAPI( HCDROM hCD, LPTRACKBUF t );
  97. DWORD readCDAudioLBA_READ10( HCDROM hCD, LPTRACKBUF t );
  98. DWORD readCDAudioLBA_D8( HCDROM hCD, LPTRACKBUF t );
  99. DWORD readCDAudioLBA_D4( HCDROM hCD, LPTRACKBUF t );
  100. DWORD pauseResumeCD( HCDROM hCD, BOOL bPause );
  101. void dbprintf( char *fmt, ... );
  102. #endif