| /* |
| * serial_defs.h - Definitions for MacOS serial drivers |
| * |
| * Basilisk II (C) 1997-2008 Christian Bauer |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| */ |
| |
| #ifndef SERIAL_DEFS_H |
| #define SERIAL_DEFS_H |
| |
| // Error codes |
| enum { |
| rcvrErr = -89, |
| breakRecd = -90 |
| }; |
| |
| // Serial port configuration |
| enum { |
| baud150 = 763, |
| baud300 = 380, |
| baud600 = 189, |
| baud1200 = 94, |
| baud1800 = 62, |
| baud2400 = 46, |
| baud3600 = 30, |
| baud4800 = 22, |
| baud7200 = 14, |
| baud9600 = 10, |
| baud14400 = 6, |
| baud19200 = 4, |
| baud28800 = 2, |
| baud38400 = 1, |
| baud57600 = 0 |
| }; |
| |
| enum { |
| stop10 = 0x4000, |
| stop15 = 0x8000, |
| stop20 = 0xc000 |
| }; |
| |
| enum { |
| noParity = 0, |
| oddParity = 0x1000, |
| evenParity = 0x3000 |
| }; |
| |
| enum { |
| data5 = 0, |
| data6 = 0x0800, |
| data7 = 0x0400, |
| data8 = 0x0c00 |
| }; |
| |
| // Serial events |
| enum { |
| dsrEvent = 2, |
| riEvent = 4, |
| dcdEvent = 8, |
| ctsEvent = 32, |
| breakEvent = 128 |
| }; |
| |
| // Flags for SerStaRec.xOffSent |
| enum { |
| xOffWasSent = 128, |
| dtrNegated = 64, |
| rtsNegated = 32 |
| }; |
| |
| // Serial driver error masks |
| enum { |
| swOverrunErr = 1, |
| breakErr = 8, |
| parityErr = 16, |
| hwOverrunErr = 32, |
| framingErr = 64 |
| }; |
| |
| // Option for kSERDMiscOptions |
| enum { |
| kOptionPreserveDTR = 128, |
| kOptionClockX1CTS = 64 |
| }; |
| |
| // Flags for SerShk.fCTS |
| enum { |
| kUseCTSOutputFlowControl = 128, |
| kUseDSROutputFlowControl = 64, |
| kUseRTSInputFlowControl = 128, |
| kUseDTRInputFlowControl = 64 |
| }; |
| |
| // Control codes |
| enum { |
| kSERDConfiguration = 8, |
| kSERDInputBuffer = 9, |
| kSERDSerHShake = 10, |
| kSERDClearBreak = 11, |
| kSERDSetBreak = 12, |
| kSERDBaudRate = 13, |
| kSERDHandshake = 14, |
| kSERDClockMIDI = 15, |
| kSERDMiscOptions = 16, |
| kSERDAssertDTR = 17, |
| kSERDNegateDTR = 18, |
| kSERDSetPEChar = 19, |
| kSERDSetPEAltChar = 20, |
| kSERDSetXOffFlag = 21, |
| kSERDClearXOffFlag = 22, |
| kSERDSendXOn = 23, |
| kSERDSendXOnOut = 24, |
| kSERDSendXOff = 25, |
| kSERDSendXOffOut = 26, |
| kSERDResetChannel = 27, |
| kSERDHandshakeRS232 = 28, |
| kSERDStickParity = 29, |
| kSERDAssertRTS = 30, |
| kSERDNegateRTS = 31, |
| kSERD115KBaud = 115, |
| kSERD230KBaud = 230, |
| kSERDSetHighSpeed = 0x4a46, // 'JF' |
| kSERDSetPollWrite = 0x6a66 // 'jf' |
| }; |
| |
| // Status codes |
| enum { |
| kSERDInputCount = 2, |
| kSERDStatus = 8, |
| kSERDVersion = 9, |
| kSERDGetDCD = 256 |
| }; |
| |
| enum { // SerShk struct |
| shkFXOn = 0, |
| shkFCTS = 1, |
| shkXOn = 2, |
| shkXOff = 3, |
| shkErrs = 4, |
| shkEvts = 5, |
| shkFInX = 6, |
| shkFDTR = 7 |
| }; |
| |
| enum { // SerSta struct |
| staCumErrs = 0, |
| staXOffSent = 1, |
| staRdPend = 2, |
| staWrPend = 3, |
| staCtsHold = 4, |
| staXOffHold = 5, |
| staDsrHold = 6, |
| staModemStatus = 7 |
| }; |
| |
| #endif |