1 | /*
|
---|
2 | =============================================================================
|
---|
3 | iorec.h -- structure defintion for Multi-Tasking BIOS io control record
|
---|
4 | Version 1 -- 1988-04-02 -- D.N. Lynx Crowe
|
---|
5 | (c) Copyright 1988 -- D.N. Lynx Crowe
|
---|
6 |
|
---|
7 | Requires mtdefs.h for the SEM definition.
|
---|
8 | =============================================================================
|
---|
9 | */
|
---|
10 |
|
---|
11 | struct iorec {
|
---|
12 |
|
---|
13 | char *ibuf; /* input buffer base address */
|
---|
14 | short ibsize; /* input buffer size - bytes */
|
---|
15 | short ibufhd; /* input buffer head index */
|
---|
16 | short ibuftl; /* input buffer tail index */
|
---|
17 | short ibuflow; /* input buffer low water mark */
|
---|
18 | short ibufhi; /* input bufrer high water mark */
|
---|
19 | char *obuf; /* output buffer base address */
|
---|
20 | short obsize; /* output buffer size - bytes */
|
---|
21 | short obufhd; /* output buffer head index */
|
---|
22 | short obuftl; /* output buffer tail index */
|
---|
23 | short obuflow; /* output buffer low water mark */
|
---|
24 | short obufhi; /* output buffer high water mark */
|
---|
25 | char cfr0; /* ACIA CFR, MS bit EQ 0 */
|
---|
26 | char cfr1; /* ACIA CFR, MS bit EQ 1 */
|
---|
27 | char flagxon; /* XON flag (non-zero EQ XOFF sent) */
|
---|
28 | char flagxof; /* XOFF flag (non-zero EQ active) */
|
---|
29 | char linedis; /* line discipline */
|
---|
30 | char erbyte; /* last error byte */
|
---|
31 | char isr; /* ACIA ISR on interrupt */
|
---|
32 | char csr; /* ACIA CSR on interrupt */
|
---|
33 | short errct; /* error count (FRM/OVR/BRK) */
|
---|
34 | short ibfct; /* input buffer overflow error count */
|
---|
35 | SEM inp_nf; /* input buffer not-full semaphore */
|
---|
36 | SEM inp_ne; /* input buffer not-empty semaphore */
|
---|
37 | SEM out_nf; /* output buffer not-full semaphore */
|
---|
38 | SEM out_ne; /* output buffer not-empty semaphore */
|
---|
39 | };
|
---|