Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4680 | right-hear | 1 | /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */ |
2 | /* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */ |
||
3 | #ifndef __dj_include_bios_h_ |
||
4 | #define __dj_include_bios_h_ |
||
5 | |||
6 | #ifdef __cplusplus |
||
7 | extern "C" { |
||
8 | #endif |
||
9 | |||
10 | #ifndef __dj_ENFORCE_ANSI_FREESTANDING |
||
11 | |||
12 | #ifndef __STRICT_ANSI__ |
||
13 | |||
14 | #ifndef _POSIX_SOURCE |
||
15 | |||
16 | int bioscom(int _cmd, char _data, int _port); |
||
17 | int biosdisk(int _cmd, int _drive, int _head, int _track, int _sector, |
||
18 | int _nsects, void *_buffer); |
||
19 | int biosequip(void); |
||
20 | int bioskey(int cmd); |
||
21 | int biosmemory(void); |
||
22 | int biosprint(int _cmd, int _byte, int _port); |
||
23 | long biostime(int _cmd, long _newtime); |
||
24 | |||
25 | /* |
||
26 | * For compatibility with other DOS C compilers. |
||
27 | */ |
||
28 | |||
29 | /* Disk parameters for _bios_disk() function. */ |
||
30 | struct _diskinfo_t { |
||
31 | unsigned drive; /* Drive number. */ |
||
32 | unsigned head; /* Head number. */ |
||
33 | unsigned track; /* Track number. */ |
||
34 | unsigned sector; /* Sector number. */ |
||
35 | unsigned nsectors; /* Number of sectors to read/write/verify. */ |
||
36 | void *buffer; /* Buffer for reading/writing/verifying. */ |
||
37 | }; |
||
38 | #define diskinfo_t _diskinfo_t |
||
39 | |||
40 | /* Constants for _bios_disk() function. */ |
||
41 | #define _DISK_RESET 0 /* Reset disk controller. */ |
||
42 | #define _DISK_STATUS 1 /* Get disk status. */ |
||
43 | #define _DISK_READ 2 /* Read disk sectors. */ |
||
44 | #define _DISK_WRITE 3 /* Write disk sectors. */ |
||
45 | #define _DISK_VERIFY 4 /* Verify disk sectors. */ |
||
46 | #define _DISK_FORMAT 5 /* Format disk track. */ |
||
47 | |||
48 | /* Constants fot _bios_serialcom() function. */ |
||
49 | #define _COM_INIT 0 /* Init serial port. */ |
||
50 | #define _COM_SEND 1 /* Send character. */ |
||
51 | #define _COM_RECEIVE 2 /* Receive character. */ |
||
52 | #define _COM_STATUS 3 /* Get serial port status. */ |
||
53 | |||
54 | #define _COM_CHR7 2 /* 7 bits characters. */ |
||
55 | #define _COM_CHR8 3 /* 8 bits characters. */ |
||
56 | |||
57 | #define _COM_STOP1 0 /* 1 stop bit. */ |
||
58 | #define _COM_STOP2 4 /* 2 stop bits. */ |
||
59 | |||
60 | #define _COM_NOPARITY 0 /* No parity. */ |
||
61 | #define _COM_ODDPARITY 8 /* Odd parity. */ |
||
62 | #define _COM_SPACEPARITY 16 /* Space parity. */ |
||
63 | #define _COM_EVENPARITY 24 /* Even parity. */ |
||
64 | |||
65 | #define _COM_110 0 /* 110 baud. */ |
||
66 | #define _COM_150 32 /* 150 baud. */ |
||
67 | #define _COM_300 64 /* 300 baud. */ |
||
68 | #define _COM_600 96 /* 600 baud. */ |
||
69 | #define _COM_1200 128 /* 1200 baud. */ |
||
70 | #define _COM_2400 160 /* 2400 baud. */ |
||
71 | #define _COM_4800 192 /* 4800 baud. */ |
||
72 | #define _COM_9600 224 /* 9600 baud. */ |
||
73 | |||
74 | /* Constants for _bios_keybrd() function. */ |
||
75 | #define _KEYBRD_READ 0 /* Read character. */ |
||
76 | #define _KEYBRD_READY 1 /* Check character. */ |
||
77 | #define _KEYBRD_SHIFTSTATUS 2 /* Get shift status. */ |
||
78 | |||
79 | #define _NKEYBRD_READ 0x10 /* Read extended character. */ |
||
80 | #define _NKEYBRD_READY 0x11 /* Check extended character. */ |
||
81 | #define _NKEYBRD_SHIFTSTATUS 0x12 /* Get exteded shift status. */ |
||
82 | |||
83 | /* Constans for _bios_printer() function. */ |
||
84 | #define _PRINTER_WRITE 0 /* Write character. */ |
||
85 | #define _PRINTER_INIT 1 /* Initialize printer. */ |
||
86 | #define _PRINTER_STATUS 2 /* Get printer status. */ |
||
87 | |||
88 | /* Constants for _bios_timeofday() function. */ |
||
89 | #define _TIME_GETCLOCK 0 /* Get current clock count. */ |
||
90 | #define _TIME_SETCLOCK 1 /* Set current clock count. */ |
||
91 | |||
92 | #define _bios_equiplist() ((unsigned)biosequip()) |
||
93 | #define _bios_memsize() ((unsigned)biosmemory()) |
||
94 | #define _bios_printer(_c, _p, _d) ((unsigned)biosprint(_c, _d, _p)) |
||
95 | #define _bios_serialcom(_c, _p, _d) ((unsigned)bioscom(_c, _d, _p)) |
||
96 | #define _bios_keybrd(_c) ((unsigned)bioskey(_c)) |
||
97 | |||
98 | unsigned _bios_disk(unsigned _cmd, struct _diskinfo_t *_di); |
||
99 | unsigned _bios_timeofday(unsigned _cmd, unsigned long *_timeval); |
||
100 | |||
101 | /* For int86(), int86x() and union REGS. */ |
||
102 | #include |
||
103 | |||
104 | #endif /* !_POSIX_SOURCE */ |
||
105 | #endif /* !__STRICT_ANSI__ */ |
||
106 | #endif /* !__dj_ENFORCE_ANSI_FREESTANDING */ |
||
107 | |||
108 | #ifndef __dj_ENFORCE_FUNCTION_CALLS |
||
109 | #endif /* !__dj_ENFORCE_FUNCTION_CALLS */ |
||
110 | |||
111 | #ifdef __cplusplus |
||
112 | } |
||
113 | #endif |
||
114 | |||
115 | #endif /* !__dj_include_bios_h_ */ |