Subversion Repositories Kolibri OS

Rev

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_ */