]> pd.if.org Git - mmurtl/blob - ossource/parallel.h
autocommit for file dated 1995-01-24 09:34:08
[mmurtl] / ossource / parallel.h
1 /* This defines the status record and pertinent data masks\r
2    for values form the parallel port driver.\r
3 */\r
4 \r
5 struct statRecL{\r
6   unsigned long lptJob;         /* Owner of this lpt port, 0 for not in use */\r
7   unsigned long LastErc;        /* Result of last device operation */\r
8   unsigned long LastTotal;      /* Total bytes moved in last operation */\r
9   unsigned char status;         /* Status Byte - Bits defined in Parallel.h */\r
10   unsigned long BufCnt;         /* Bytes left in buffer to send */\r
11   unsigned char resvd1;         /*  */\r
12   unsigned char resvd2;         /*  */\r
13   unsigned char resvd3;         /*  */\r
14   unsigned char IRQNum;         /* IRQNum for this channel */\r
15   unsigned long IOBase;         /* IO base address for hardware */\r
16   unsigned long XBufSize;       /* Size of Xmit buffer */\r
17   unsigned long XTimeOut;       /* Xmit Timeout in 10ms increments */\r
18   unsigned long resvd4;         /* Recv Timeout in 10ms increments */\r
19   unsigned long resvd[6];       /* out to 64 bytes */\r
20   };\r
21 \r
22 /* Device Driver interface commands (Op numbers)\r
23    NOTE: No "Read" commands are defined for this driver.\r
24    This is a WRITE-ONLY device.\r
25 */\r
26 \r
27 #define CmdWriteRec  2                  /* Write one or more bytes */\r
28 #define CmdOpenL    10                  /* Open Comm Channel */\r
29 #define CmdCloseL   11                  /* Close Comm Channel */\r
30 #define CmdCloseLU  12                  /* Close Comm Channel UNCONDITIONALLY */\r
31 #define CmdSetXTO       14          /* Set Xmit timeout 10ms incs in dLBA */\r
32 #define CmdWriteB       32                      /* write a single byte */\r
33 \r
34 #define LPTBUSY   0x80          /* 1 = NOT Busy */\r
35 #define LPTACK    0x40          /* 1 = Acknowledge */\r
36 #define LPTPAPER  0x20          /* 1 = Out of paper */\r
37 #define LPTSELECT 0x10          /* 1 = Selected */\r
38 #define LPTIOERR  0x08          /* 1 = I/O Error */\r
39 \r
40 #define ErcBadOpNum             503             /* Standard Device error for bad cmd number */\r
41 #define ErcXmitTimeoutL 901             /* Xmit Buffer never Emptied */\r
42 #define ErcDataNotSent  902             /* Xmit buffer not empty */\r
43 #define ErcNotOpenL             907             /* Channel not open... */\r
44 #define ErcChannelOpenL 909             /* It's already open... */\r
45 #define ErcNotOwnerL    912             /* It's opened by someone else... */\r
46 #define ErcBadIOBaseL   924             /* if 0           */\r
47 #define ErcBadInitSizeL 927             /* At least 40 bytes for this version */\r