]> pd.if.org Git - mmurtl/blob - ossource/rs232.h
autocommit for file dated 2003-12-29 17:36:54
[mmurtl] / ossource / rs232.h
1 /*   RS232.H     */\r
2 \r
3 #define MIN_BAUD       150l\r
4 #define MAX_BAUD       38400l\r
5 #define NO_PAR             0\r
6 #define EV_PAR             1\r
7 #define OD_PAR             2\r
8 \r
9 #define ErcRecvTimeout  800             /* Recv Buffer Empty */\r
10 #define ErcXmitTimeout  801             /* Xmit Buffer never Emptied */\r
11 #define ErcRcvBufOvr    802             /* Receive buffer overrun */\r
12 #define ErcBadPort              803             /* Invalid port on OpenCommC */\r
13 #define ErcRcvBufOvr    805             /* Buffer full!!! */\r
14 #define ErcNotOpen              807             /* Channel not open... */\r
15 #define ErcChannelOpen  809             /* It's already open... */\r
16 #define ErcNotOwner             812             /* It's opened by someone else... */\r
17 #define ErcBadBaud              820             /* 150-38400      */\r
18 #define ErcBadParity    821             /* 0, 1 or 2      */\r
19 #define ErcBadDataBits  822             /* Must be 5-8    */\r
20 #define ErcBadStopBits  823             /* Must be 1 or 2 */\r
21 #define ErcBadIOBase    824             /* if 0           */\r
22 #define ErcBadCommIRQ   825             /* < 3            */\r
23 #define ErcBadInitSize  827             /* At least 40 bytes for this version */\r
24 \r
25 \r
26 struct statRecC{\r
27   unsigned long commJob;        /* Owner of this comms port, 0 for not in use */\r
28   unsigned long LastErc;        /* Result of last device operation */\r
29   unsigned long LastTotal;      /* Total bytes moved in last operation */\r
30   unsigned long Baudrate;       /* Baudrate for this port, 150 - 38400 */\r
31   unsigned char parity;         /* Parity for this port, 0=none, 1=even, 2=odd */\r
32   unsigned char databits;       /* nDatabits for this port, 5-8 */\r
33   unsigned char stopbits;       /* stop bits for this port, 1 or 2 */\r
34   unsigned char IRQNum;         /* IRQNum for this channel */\r
35   unsigned long IOBase;         /* IO base address for hardware */\r
36   unsigned long XBufSize;       /* Size of Xmit buffer */\r
37   unsigned long RBufSize;       /* Size of Recv Buffer */\r
38   unsigned long XTimeOut;       /* Xmit Timeout in 10ms increments */\r
39   unsigned long RTimeOut;       /* Recv Timeout in 10ms increments */\r
40   unsigned long resvd[6];       /* out to 64 bytes */\r
41   };\r
42 \r
43 /* Device Driver interface commands (Op numbers) */\r
44 \r
45 #define CmdReadRec   1                  /* Read one or more bytes */\r
46 #define CmdWriteRec  2                  /* Write one or more bytes */\r
47 #define CmdOpenC    10                  /* Open Comm Channel */\r
48 #define CmdCloseC   11                  /* Close Comm Channel */\r
49 #define CmdDiscardRcv 12                /* Trash input buffer */\r
50 #define CmdSetRTO       13          /* Set Recv timeout 10ms incs in dLBA */\r
51 #define CmdSetXTO       14          /* Set Xmit timeout 10ms incs in dLBA */\r
52 #define CmdSetDTR   15                  /* Set DTR (On) */\r
53 #define CmdSetRTS       16                      /* Set CTS (On) */\r
54 #define CmdReSetDTR 17                  /* Set DTR (On) */\r
55 #define CmdReSetRTS 18                  /* Set CTS (On) */\r
56 #define CmdBreak        19                      /* Send BREAK (10ms incs in dLBA) */\r
57 #define CmdGetDC        20                      /* Returns byte TRUE to pData if CD ON */\r
58 #define CmdGetDSR       21                      /* Returns byte TRUE to pData if DSR ON */\r
59 #define CmdGetCTS       22                      /* Returns byte TRUE to pData if CTS ON */\r
60 #define CmdGetRI        23                      /* Returns byte TRUE to pData if RI ON */\r
61 #define CmdReadB        31                      /* Recv a single byte */\r
62 #define CmdWriteB       32                      /* Xmit a single byte */\r
63 \r
64 \r
65 /*********************** END of COMMDRV.H *****************************/\r