home *** CD-ROM | disk | FTP | other *** search
/ PC Open 19 / pcopen19.iso / Zipped / PART231.ZIP / SOURCES.ZIP / DISKIO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-12  |  1.2 KB  |  62 lines

  1. #ifndef _DISKIO_H
  2. #define _DISKIO_H
  3.  
  4.  
  5. /*
  6.  *  SECTOR_SIZE = 512 is assumed throughout the program
  7. */
  8.  
  9. struct disk_addr
  10.     {
  11.      unsigned short disk;
  12.      unsigned short cyl;
  13.      unsigned short head;
  14.      unsigned short sect;
  15.     };
  16.  
  17. struct disk_info
  18.     {
  19.      unsigned short disk;
  20.      unsigned short num_cyls;
  21.      unsigned short num_heads;
  22.      unsigned short num_sects;
  23.      unsigned long total_sects;
  24.     };
  25.  
  26. extern unsigned short int const detected_os;
  27.  
  28. #define SYS_DOS        0    /* MS-DOS v1.00 - v4.xx     */
  29. #define SYS_DOS5    1    /* MS-DOS v5.00 - v6.xx     */
  30. #define SYS_DOS7    2    /* Comand line mode of Win95    */
  31. #define SYS_WIN3    3    /* GUI mode of Windows 3.xx    */
  32. #define SYS_WIN95    4    /* GUI mode of Windows 95    */
  33. #define SYS_WIN_NT    5    /* Windows NT             */
  34.  
  35.  
  36.  
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40.  
  41.  
  42. void diskio_init(void);
  43. void diskio_exit(void);
  44.  
  45. void reboot(void);
  46.  
  47. int get_disk_info(int hd, struct disk_info *);
  48.  
  49. int disk_lock(int hd);
  50. int disk_unlock(int hd);
  51.  
  52. int disk_read(struct disk_addr *, void *, int num_sect);
  53. int disk_write(struct disk_addr *, void *, int num_sect);
  54. int disk_format(struct disk_addr *, void *ftable);
  55. int disk_verify(struct disk_addr *, int num_sect);
  56.  
  57. #ifdef __cplusplus
  58. }
  59. #endif
  60.  
  61. #endif
  62.