home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DEV / DASD / IBM / IBM1FLPY / FLP1MISC.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-14  |  3.7 KB  |  90 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /*static char *SCCSID = "%w% %e%";*/
  13. /**************************************************************************
  14.  *
  15.  * SOURCE FILE NAME =  FLP1MISC.H
  16.  *
  17.  * DESCRIPTIVE NAME = Miscellaneous Data Structures - BIOS related
  18.  *
  19.  *
  20.  *
  21.  * VERSION = V2.1
  22.  *
  23.  * DATE = 94/03/14
  24.  *
  25.  * DESCRIPTION : Miscellaneous structures
  26.  *
  27.  * Purpose: Contains ROMCFG and Int 1E (Diskette Parameter Table)
  28.  *          layouts. Also contains offsets in the BIOS Data Area
  29.  *          of various Diskette BIOS fields.
  30.  *
  31.  *
  32.  *
  33.  *
  34.  *
  35. */
  36. /*------------------------------------------*/
  37. /*                                          */
  38. /* Disk/Diskette Configuration Data Table   */
  39. /* --------------------------------------   */
  40. /*                                          */
  41. /* A linked list of these structures is     */
  42. /* used by the kernel to pass disk/diskette */
  43. /* geometry obtained via INT 13 to the      */
  44. /* device driver.                           */
  45. /*                                          */
  46. /*------------------------------------------*/
  47.  
  48. typedef struct _ROMCFG
  49. {
  50.   USHORT           ROMlink;           /* link to next table entry       */
  51.   USHORT           ROMcyls;           /* maximum number of cylinders    */
  52.   USHORT           ROMsecptrk;        /* maximum sectors per track      */
  53.   UCHAR            ROMdevnbr;         /* device number                  */
  54.   USHORT           ROMheads;          /* number of heads                */
  55.   USHORT           ROMwpf;            /* write precompensation factor   */
  56.   USHORT           ROMflags;          /* flag byte                      */
  57.  
  58. } ROMCFG;
  59.  
  60. typedef ROMCFG far *PROMCFG;
  61.  
  62. #define ROMfixed        0x0001
  63. #define ROMchgline      0x0002
  64.  
  65.  
  66. typedef struct _DSKTPARMTABLE
  67. {
  68.   UCHAR         Specify[2];             /*                              */
  69.   UCHAR         MotorOffTicks;          /* units = 50ms/tick            */
  70.   UCHAR         SectorN;                /* units = 2^(N+7)              */
  71.   UCHAR         SectorsPerTrack;        /*                              */
  72.   UCHAR         RWGapLength;            /*                              */
  73.   UCHAR         DTL;                    /*                              */
  74.   UCHAR         FmtGapLength;           /*                              */
  75.   UCHAR         FmtFillByte;            /*                              */
  76.   UCHAR         SettleTime;             /* units = mS                   */
  77.   UCHAR         MotorOnTime;            /* units = 125mS                */
  78.  
  79. } DSKTPARMTABLE, FAR *PDSKTPARMTABLE;
  80.  
  81. #define         INT_1E                  0x1E
  82.  
  83. #define BIOS_DATA_PHYS                  0x0400
  84.  
  85. #define BIOS_DSKT_RECALSTATUS           0x3E
  86. #define BIOS_DSKT_MOTORSTATUS           0x3F
  87. #define BIOS_DSKT_MEDIACONTROL          0x8B
  88. #define BIOS_DSKT_MEDIASTATE            0x90
  89. #define BIOS_DSKT_CYL                   0x94
  90.