home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / H / MSCDEX.H < prev    next >
Text File  |  1995-04-14  |  4KB  |  127 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT (C) Microsoft Corporation, 1989                                 */
  4. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  5. /*                                                                           */
  6. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  7. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  8. /*    drivers. You may use this code in accordance with the IBM License      */
  9. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  10. /*    Copyright statement may not be removed.                                */
  11. /*                                                                           */
  12. /*****************************************************************************/
  13.  
  14. //*    MSCDEX Int 2f (AL=15) defines, etc.
  15. //*
  16. //*
  17. //*
  18. //*
  19. //*      MSCDEX constants
  20. //*
  21. //*      MODIFICATION HISTORY
  22. //*         09/26/92    fjs      created
  23. //*         03/24/93    fjs      Added FSCTL_ARG_MEDIACHG
  24. //*
  25. //***************************************************************************
  26.  
  27.  
  28. #define MSCDEX_SERVICES                   0x15
  29. #define MSCDEX_SIGNATURE                  0xADAD
  30. #define MSCDEX_VERSION                    0x0215
  31.  
  32. // MSCDEX services, subfunction number (al)
  33.  
  34. #define GET_NUMBER_CDROM_DRIVE_LETTERS    0x00
  35. #define GET_CDROM_DRIVE_DEVICE_LIST       0x01
  36. #define GET_COPYRIGHT_FILE_NAME           0x02
  37. #define GET_ABSTRACT_FILE_NAME            0x03
  38. #define GET_BIBLIOGRAPHIC_FILE_NAME       0x04
  39. #define READ_VTOC                         0x05
  40. // reserved-Turn debugging on             0x06
  41. // reserved-Turn debugging off            0x07
  42. #define ABSOLUTE_DISK_READ                0x08
  43. #define ABSOLUTE_DISK_WRITE               0x09
  44. // reserved                               0x0A
  45. #define CDROM_DRIVE_CHECK                 0x0B
  46. #define GET_MSCDEX_VERSION                0x0C
  47. #define GET_CDROM_DRIVE_LETTERS           0x0D
  48. #define VOLUME_DESCRIPTOR_PREFERENCE      0x0E
  49. #define GET_DIRECTORY_ENTRY               0x0F
  50. #define SEND_DEVICE_REQUEST               0x10
  51.  
  52. // VDHFSCtl parameters
  53.  
  54. #define FSCTL_ARG_MSCDEX                  0x8F07
  55. #define FSCTL_ARG_MEDIACHG                0x8F08
  56. #define FSCTL_HANDLE                      1
  57.  
  58. // Structures for VDHFSCtl call to CDROM.IFS
  59.  
  60. typedef struct
  61. {
  62.         ULONG     ulFunction;
  63.  
  64. } GETFILE, FAR * PGETFILE;
  65.  
  66. typedef struct
  67. {
  68.          ULONG    ulFunction;
  69.          ULONG    ulSectorIndex;
  70.  
  71. } READVTOC, FAR * PREADVTOC;
  72.  
  73. typedef struct
  74. {
  75.         ULONG     ulFunction;
  76.         ULONG     ulSectorCount;
  77.         USHORT    usSectStartLo;
  78.         USHORT    usSectStartHi;
  79.  
  80. } ABSREAD, FAR * PABSREAD;
  81.  
  82. typedef struct
  83. {
  84.         ULONG     ulFunction;
  85.         ULONG     ulPrefReq;
  86.         ULONG     ulPrefVal;
  87.  
  88. } VOLDESCPREF, FAR * PVOLDESCPREF;
  89.  
  90. typedef struct
  91. {
  92.         ULONG     ulFunction;
  93.         ULONG     ulFlags;
  94.  
  95. } GETDIRENTRY, FAR * PGETDIRENTRY;
  96.  
  97. // GETFILE file name lengths
  98.  
  99. #define     MAX_FILE_ID_LEN               38
  100.  
  101. #define     ISO_CPYR_ID_LEN               37
  102. #define     HSG_CPYR_ID_LEN               32
  103. #define     MAX_CPYR_ID_LEN               38
  104. #define     ISO_ABST_ID_LEN               37
  105. #define     HSG_ABST_ID_LEN               32
  106. #define     MAX_ABST_ID_LEN               38
  107. #define     ISO_BIBL_ID_LEN               37
  108. #define     HSG_BIBL_ID_LEN                0
  109. #define     MAX_BIBL_ID_LEN               38
  110.  
  111. // VOLDESCPREF ulPrefReq values
  112.  
  113. #define GET_VOL_DESC_PREF                 0
  114. #define SET_VOL_DESC_PREF                 1
  115.  
  116. // VOLDESCPREF ulPrefVal values
  117.  
  118. #define USE_PRIMARY_VOL_DESC              1
  119. #define USE_SUPPLEM_VOL_DESC              2
  120.  
  121. // GETDIRENTRY buffer lengths
  122.  
  123. #define DIR_ENTRY_SPECIFIC_LEN            255
  124. #define DIR_ENTRY_GENERAL_LEN             280
  125.  
  126. // end MSCDEX.H
  127.