home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / win3 / patches / symantec / rtlinc.exe / BIOS.H < prev    next >
C/C++ Source or Header  |  1993-08-01  |  4KB  |  123 lines

  1. /*_ bios.h   Tue Jul 25 1989   Modified by: Dave Mansell */
  2.  
  3. #ifndef __BIOS_H
  4. #define __BIOS_H
  5.  
  6. #if __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. /* keyboard services */
  11.  
  12. #define _KEYBRD_READ        0   /* read next character from keyboard */
  13. #define _KEYBRD_READY       1   /* check for keystroke */
  14. #define _KEYBRD_SHIFTSTATUS 2   /* get current shift key status */
  15.  
  16. unsigned short __cdecl _bios_keybrd(int);
  17. unsigned short __cdecl bioskey(int);
  18.  
  19. #if M_UNIX || M_XENIX
  20.  
  21. void __cdecl _bios_keybrd_close(void);
  22. int __cdecl _bios_keybrd_open(void);
  23.  
  24. #else /* M_UNIX || M_XENIX */
  25. /* struct used to send and receive information to and from */
  26. /* the BIOS (int 0x13) disk services */
  27.  
  28. #pragma pack(1)     /*no alignment for DOS structs */
  29. struct diskinfo_t {
  30.     unsigned drive;
  31.     unsigned head;
  32.     unsigned track;
  33.     unsigned sector;
  34.     unsigned nsectors;
  35.     void __far *buffer;
  36.     };
  37. #define _diskinfo_t diskinfo_t
  38.  
  39. #pragma pack()
  40.  
  41. /* manifest constants for BIOS services */
  42.  
  43. /* serial port services */
  44.  
  45. #define _COM_INIT       0   /* init serial port */
  46. #define _COM_SEND       1   /* send character */
  47. #define _COM_RECEIVE    2   /* receive character */
  48. #define _COM_STATUS     3   /* get serial port status */
  49.  
  50. /* serial port initializers.  One constant from each of the following */
  51. /* four groups must be specified in the initialization byte. */
  52.  
  53. /* character size */
  54.  
  55. #define _COM_CHR7       2   /* 7 bits characters */
  56. #define _COM_CHR8       3   /* 8 bits characters */
  57.  
  58. /* stop bit values */
  59.  
  60. #define _COM_STOP1      0   /* 1 stop bit */
  61. #define _COM_STOP2      4   /* 2 stop bits */
  62.  
  63. /*  parity */
  64.  
  65. #define _COM_NOPARITY   0   /* no parity */
  66. #define _COM_ODDPARITY  8   /* odd parity */
  67. #define _COM_EVENPARITY 24  /* even parity */
  68.  
  69. /*  baud rate */
  70.  
  71. #define _COM_110        0       /* 110 baud */
  72. #define _COM_150        32      /* 150 baud */
  73. #define _COM_300        64      /* 300 baud */
  74. #define _COM_600        96      /* 600 baud */
  75. #define _COM_1200       128     /* 1200 baud */
  76. #define _COM_2400       160     /* 2400 baud */
  77. #define _COM_4800       192     /* 4800 baud */
  78. #define _COM_9600       224     /* 9600 baud */
  79.  
  80. /* disk services */
  81.  
  82. #define _DISK_RESET     0   /* reset disk controller */
  83. #define _DISK_STATUS    1   /* get disk status */
  84. #define _DISK_READ      2   /* read disk sectors */
  85. #define _DISK_WRITE     3   /* write disk sectors */
  86. #define _DISK_VERIFY    4   /* verify disk sectors */
  87. #define _DISK_FORMAT    3   /* format disk track */
  88.  
  89. /* printer services */
  90.  
  91. #define _PRINTER_WRITE  0   /* write character to printer */
  92. #define _PRINTER_INIT   1   /* intialize printer */
  93. #define _PRINTER_STATUS 2   /* get printer status */
  94.  
  95. /* time of day services */
  96.  
  97. #define _TIME_GETCLOCK  0   /* get current clock count */
  98. #define _TIME_SETCLOCK  1   /* set current clock count */
  99.  
  100. /* Function prototypes for Bios services */
  101.  
  102. int __cdecl _bios_equiplist(void);
  103. int __cdecl _bios_memsize(void);
  104. int __cdecl _bios_printer(unsigned, unsigned, unsigned);
  105. int __cdecl _bios_serialcom(unsigned, unsigned, unsigned);
  106. int __cdecl _bios_timeofday(unsigned, long *);
  107. long __cdecl biostime(int , long);
  108. int __cdecl _bios_disk(unsigned, struct diskinfo_t *);
  109.  
  110. #define biosmemory() _bios_memsize()
  111. #define biosprint(cmd,port,abyte) _bios_printer(cmd,port,abyte)
  112. #define biosequip() _bios_equiplist()
  113. #define bioscom _bios_serialcom
  114. int __cdecl biosdisk(int, int, int, int, int, int, void *);
  115. #endif
  116.  
  117. #if __cplusplus
  118. }
  119. #endif
  120.  
  121. #endif /* __BIOS_H */
  122.  
  123.