home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 February / PCWorld_2002-02_cd.bin / Software / Vyzkuste / ranish / SOURCES.ZIP / DISKIO.H < prev    next >
C/C++ Source or Header  |  1998-03-27  |  1KB  |  66 lines

  1. #ifndef _DISKIO_H
  2. #define _DISKIO_H
  3.  
  4.  
  5. struct disk_addr
  6.     {
  7.      unsigned short disk;
  8.      unsigned short cyl;
  9.      unsigned short head;
  10.      unsigned short sect;
  11.     };
  12.  
  13. struct disk_info
  14.     {
  15.      unsigned short disk;
  16.      unsigned short num_cyls;
  17.      unsigned short num_heads;
  18.      unsigned short num_sects;
  19.      unsigned long  total_sects;
  20.      unsigned short sect_per_cyl;
  21.      unsigned short sect_per_track;
  22.      unsigned short sect_size;
  23.      unsigned short bios_num_cyls;
  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. int flush_caches(void);
  47.  
  48. int get_disk_info(int hd, struct disk_info *, char *buf_4096);
  49.  
  50. int disk_lock(int hd);
  51. int disk_unlock(int hd);
  52.  
  53. int dos_drive_reset(int drive);
  54.  
  55. int disk_read(struct disk_addr *, void *, int num_sect);
  56. int disk_write(struct disk_addr *, void *, int num_sect);
  57. int disk_format(struct disk_addr *, void *ftable);
  58. int disk_verify(struct disk_addr *, int num_sect);
  59.  
  60.  
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64.  
  65. #endif
  66.