-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLINE.C
65 lines (49 loc) · 1.05 KB
/
LINE.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <dos.h>
#include "async.h"
extern int UART_ports[];
int async_LCR(int comport)
{
return (inportb(UART_ports[comport]+LCR));
}
int async_MCR(int comport)
{
return (inportb(UART_ports[comport]+MCR));
}
int async_LSR(int comport)
{
return (inportb(UART_ports[comport]+LSR));
}
int async_MSR(int comport)
{
return (inportb(UART_ports[comport]+MSR));
}
int async_DTR_status(int comport)
{
return (inportb(UART_ports[comport]+MCR)&MCR_DTR);
}
int async_RTS_status(int comport)
{
return ((inportb(UART_ports[comport]+MCR)&MCR_RTS)?1:0);
}
void async_set_DTR(int comport, int status)
{
int dtr;
dtr = inportb(UART_ports[comport]+MCR);
if (status) {
dtr |= MCR_DTR;
} else {
dtr ^= MCR_DTR;
}
outportb(UART_ports[comport]+MCR, dtr);
}
void async_set_RTS(int comport, int status)
{
int rts;
rts = inportb(UART_ports[comport]+MCR);
if (status) {
rts |= MCR_RTS;
} else {
rts ^= MCR_RTS;
}
outportb(UART_ports[comport]+MCR, rts);
}