Root/
Source at commit 1166 created 13 years 10 days ago. By meklort, Fixed recent Makefile changes. Please do not use /Users/evan/SourceCode/tmp/chameleon/trunk or VPATH. the *only* time you should use /Users/evan/SourceCode/tmp/chameleon/trunk is when setting the SRCROOT variable. Also note that very soon make pkg is going to be removed. The pkg build script in trunk is very out of date. Instead please use the package maker at http://forge.voodooprojects.org/p/chameleonApplications/. Once this is ready for trunk it will be merged. | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * The contents of this file constitute Original Code as defined in and␊ |
7 | * are subject to the Apple Public Source License Version 1.1 (the␊ |
8 | * "License"). You may not use this file except in compliance with the␊ |
9 | * License. Please obtain a copy of the License at␊ |
10 | * http://www.apple.com/publicsource and read it before using this file.␊ |
11 | * ␊ |
12 | * This Original Code and all software distributed under the License are␊ |
13 | * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
14 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
15 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
16 | * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the␊ |
17 | * License for the specific language governing rights and limitations␊ |
18 | * under the License.␊ |
19 | * ␊ |
20 | * @APPLE_LICENSE_HEADER_END@␊ |
21 | */␊ |
22 | ␊ |
23 | /*␊ |
24 | * IORS232SerialStreamSync.h␊ |
25 | * This file contains RS232 specific extensions to the IOSerialStreamSync class.␊ |
26 | *␊ |
27 | * 2000-10-21␉gvdl␉Initial real change to IOKit serial family.␊ |
28 | */ ␊ |
29 | ␊ |
30 | #ifndef _SERIAL_IORS232SERIALSTREAMSYNC_H␊ |
31 | #define _SERIAL_IORS232SERIALSTREAMSYNC_H␊ |
32 | ␊ |
33 | #include <sys/ioctl.h>␊ |
34 | #include <IOKit/serial/IOSerialStreamSync.h>␊ |
35 | ␊ |
36 | /*␊ |
37 | * Extra events for RS232 based PortDevices␊ |
38 | */ ␊ |
39 | ␊ |
40 | #define PD_RS232_E_RX_LINE_BREAK (PD_DATA_VOID|PD_OP(63)) // line break was received␊ |
41 | #define PD_RS232_E_LINE_BREAK (PD_DATA_BYTE|PD_OP(62)) // BOOL set/clear line break ␊ |
42 | ␊ |
43 | #define PD_RS232_E_RX_STOP_BITS (PD_DATA_LONG|PD_OP(61)) // half stop bits␊ |
44 | #define PD_RS232_E_STOP_BITS (PD_DATA_LONG|PD_OP(60)) // half stop bits␊ |
45 | ␊ |
46 | #define PD_RS232_E_XON_BYTE (PD_DATA_BYTE|PD_OP(59)) // The XON char for TX&RX␊ |
47 | #define PD_RS232_E_XOFF_BYTE (PD_DATA_BYTE|PD_OP(58)) // The XOFF char for TX&RX␊ |
48 | ␊ |
49 | #define PD_RS232_E_MIN_LATENCY (PD_DATA_BYTE|PD_OP(57)) // BOOL true if low latency req␊ |
50 | ␊ |
51 | /*␊ |
52 | * RS232 Parity stuff, used with the DATA_INTEGRITY event␊ |
53 | */ ␊ |
54 | #define PD_RS232_PARITY_DEFAULT␉0␉// Valid only for RX, means follow TX␊ |
55 | #define PD_RS232_PARITY_NONE␉1␉// No Parity bit inserted or expected␊ |
56 | #define PD_RS232_PARITY_ODD␉2␉// Odd Parity bit inserted or expected␊ |
57 | #define PD_RS232_PARITY_EVEN␉3␉// Even Parity bit inserted or expected␊ |
58 | #define PD_RS232_PARITY_MARK␉4␉// Mark inserted or expected␊ |
59 | #define PD_RS232_PARITY_SPACE␉5␉// Space inserted or expected␊ |
60 | #define PD_RS232_PARITY_ANY␉6␉// Valid only for RX, means discard parity␊ |
61 | ␊ |
62 | /*␊ |
63 | * RS232 Flow Control specifiers, used with the FLOW_CONTROL event␊ |
64 | * NB. The XON character is set with FLOW_START_DATA␊ |
65 | * and the XOFF character is set with FLOW_STOP_DATA.␊ |
66 | *␊ |
67 | * Signal Name Direction␊ |
68 | * RFR Ready For Receive Output generated by UART␊ |
69 | * RTS Ready To Send (alias of RFR) Output generated by UART␊ |
70 | * CTS Clear To Send␉␉ Input sensed by UART␊ |
71 | * DTR Data Terminal Ready Output generated by UART␊ |
72 | * DSR Data Set Ready Input sensed by UART␊ |
73 | * TXO XON/XOFF/XANY protocol Characters received by UART␊ |
74 | * RXO XON/XOFF protocol Characters transmitted by UART␊ |
75 | * DCD Data Carrier Detect Input sensed by UART␊ |
76 | */␊ |
77 | ␊ |
78 | /*␊ |
79 | * RS232 State Word extensions, based on <bsd/sys/ioctl.h>␊ |
80 | * Also the 'current state' bits for enq/deq of Flow Control event␊ |
81 | */ ␊ |
82 | #define PD_RS232_S_MASK 0x0000ffffUL␊ |
83 | #define PD_RS232_S_SHIFT 0␉// to align State bits for enq/deq event␊ |
84 | #define PD_RS232_D_MASK 0xffff0000UL␊ |
85 | #define PD_RS232_D_SHIFT 16␉// to align Delta bits for enq/deq event␊ |
86 | #define PD_RS232_A_MASK 0x0000ffffUL␊ |
87 | #define PD_RS232_A_SHIFT 0␉// to align Auto bits for req/exec event␊ |
88 | #define PD_RS232_N_MASK 0xffff0000UL␊ |
89 | #define PD_RS232_N_SHIFT 16␉// to align Notify bits for req/exec event␊ |
90 | ␊ |
91 | #define␉PD_RS232_S_LE␉TIOCM_LE␉// line enable␊ |
92 | #define␉PD_RS232_S_DTR␉TIOCM_DTR␉// data terminal ready␊ |
93 | #define␉PD_RS232_S_RTS␉TIOCM_RTS␉// request to send␊ |
94 | #define␉PD_RS232_S_RFR␉PD_RS232_S_RTS␉// ready for receive␊ |
95 | #define␉PD_RS232_S_TXO␉TIOCM_ST␉// TX XON/XOFF␊ |
96 | #define␉PD_RS232_S_RXO␉TIOCM_SR␉// RX XON/XOFF␊ |
97 | #define␉PD_RS232_S_CTS␉TIOCM_CTS␉// clear to send␊ |
98 | #define␉PD_RS232_S_CAR␉TIOCM_CAR␉// carrier detect␊ |
99 | #define␉PD_RS232_S_DCD␉PD_RS232_S_CAR␊ |
100 | #define␉PD_RS232_S_RNG␉TIOCM_RNG␉// ring␊ |
101 | #define␉PD_RS232_S_RI␉PD_RS232_S_RNG␊ |
102 | #define␉PD_RS232_S_DSR␉TIOCM_DSR␉// data set ready␊ |
103 | ␊ |
104 | #define␉PD_RS232_S_BRK␉0x00000800UL␉// break active Extension to TIOCM ␊ |
105 | #define␉PD_RS232_S_LOOP␉0x00001000UL␉// LOOP back Extension to TIOCM␊ |
106 | #define PD_RS232_S_TXQ␉0x00002000UL␉// User flowcontrol bit␊ |
107 | #define PD_RS232_S_RXQ␉0x00004000UL␉// User flowcontrol bit␊ |
108 | ␊ |
109 | // The 'delta' bits for enq/deq of Flow Control event␊ |
110 | #define␉PD_RS232_D_LE␉(PD_RS232_S_LE << PD_RS232_D_SHIFT)␊ |
111 | #define␉PD_RS232_D_DTR␉(PD_RS232_S_DTR << PD_RS232_D_SHIFT)␊ |
112 | #define␉PD_RS232_D_RTS␉(PD_RS232_S_RTS << PD_RS232_D_SHIFT)␊ |
113 | #define␉PD_RS232_D_RFR␉(PD_RS232_S_RFR << PD_RS232_D_SHIFT)␊ |
114 | #define␉PD_RS232_D_TXO␉(PD_RS232_S_TXO << PD_RS232_D_SHIFT)␊ |
115 | #define␉PD_RS232_D_RXO␉(PD_RS232_S_RXO << PD_RS232_D_SHIFT)␊ |
116 | #define␉PD_RS232_D_CTS␉(PD_RS232_S_CTS << PD_RS232_D_SHIFT)␊ |
117 | #define␉PD_RS232_D_CAR␉(PD_RS232_S_CAR << PD_RS232_D_SHIFT)␊ |
118 | #define␉PD_RS232_D_DCD␉(PD_RS232_S_DCD << PD_RS232_D_SHIFT)␊ |
119 | #define␉PD_RS232_D_RNG␉(PD_RS232_S_RNG << PD_RS232_D_SHIFT)␊ |
120 | #define␉PD_RS232_D_RI␉(PD_RS232_S_RI << PD_RS232_D_SHIFT)␊ |
121 | #define␉PD_RS232_D_DSR␉(PD_RS232_S_DSR << PD_RS232_D_SHIFT)␊ |
122 | ␊ |
123 | #define␉PD_RS232_D_BRK␉(PD_RS232_S_BRK << PD_RS232_D_SHIFT)␊ |
124 | #define␉PD_RS232_D_LOOP (PD_RS232_S_LOOP << PD_RS232_D_SHIFT)␊ |
125 | #define PD_RS232_D_TXQ␉(PD_RS232_S_TXQ << PD_RS232_D_SHIFT)␊ |
126 | #define PD_RS232_D_RXQ␉(PD_RS232_S_RXQ << PD_RS232_D_SHIFT)␊ |
127 | ␊ |
128 | // The 'auto' bits for exec/req of Flow Control event␊ |
129 | #define␉PD_RS232_A_LE␉PD_RS232_S_LE␊ |
130 | #define␉PD_RS232_A_DTR␉PD_RS232_S_DTR␊ |
131 | #define␉PD_RS232_A_RTS␉PD_RS232_S_RTS␊ |
132 | #define␉PD_RS232_A_RFR␉PD_RS232_S_RFR␊ |
133 | #define␉PD_RS232_A_TXO␉PD_RS232_S_TXO␊ |
134 | #define␉PD_RS232_A_RXO␉PD_RS232_S_RXO␊ |
135 | #define␉PD_RS232_A_CTS␉PD_RS232_S_CTS␊ |
136 | #define␉PD_RS232_A_CAR␉PD_RS232_S_CAR␊ |
137 | #define␉PD_RS232_A_DCD␉PD_RS232_S_DCD␊ |
138 | #define␉PD_RS232_A_RNG␉PD_RS232_S_RNG␊ |
139 | #define␉PD_RS232_A_RI␉PD_RS232_S_RI␊ |
140 | #define␉PD_RS232_A_DSR␉PD_RS232_S_DSR␊ |
141 | #define PD_RS232_A_XANY␉0x00000400␉// changes _A_TXO from XON/XOFF to XANY/XOFF␊ |
142 | #define␉PD_RS232_A_BRK␉PD_RS232_S_BRK ␊ |
143 | #define␉PD_RS232_A_LOOP PD_RS232_S_LOOP␊ |
144 | #define PD_RS232_A_TXQ␉PD_RS232_S_TXQ␊ |
145 | #define PD_RS232_A_RXQ␉PD_RS232_S_RXQ␊ |
146 | ␊ |
147 | // The 'notify' bits for exec/req of Flow Control event␊ |
148 | #define␉PD_RS232_N_LE␉(PD_RS232_S_LE << PD_RS232_N_SHIFT)␊ |
149 | #define␉PD_RS232_N_DTR␉(PD_RS232_S_DTR << PD_RS232_N_SHIFT)␊ |
150 | #define␉PD_RS232_N_RTS␉(PD_RS232_S_RTS << PD_RS232_N_SHIFT)␊ |
151 | #define␉PD_RS232_N_RFR␉(PD_RS232_S_RFR << PD_RS232_N_SHIFT)␊ |
152 | #define␉PD_RS232_N_TXO␉(PD_RS232_S_TXO << PD_RS232_N_SHIFT)␊ |
153 | #define␉PD_RS232_N_RXO␉(PD_RS232_S_RXO << PD_RS232_N_SHIFT)␊ |
154 | #define␉PD_RS232_N_CTS␉(PD_RS232_S_CTS << PD_RS232_N_SHIFT)␊ |
155 | #define␉PD_RS232_N_CAR␉(PD_RS232_S_CAR << PD_RS232_N_SHIFT)␊ |
156 | #define␉PD_RS232_N_DCD␉(PD_RS232_S_DCD << PD_RS232_N_SHIFT)␊ |
157 | #define␉PD_RS232_N_RNG␉(PD_RS232_S_RNG << PD_RS232_N_SHIFT)␊ |
158 | #define␉PD_RS232_N_RI␉(PD_RS232_S_RI << PD_RS232_N_SHIFT)␊ |
159 | #define␉PD_RS232_N_DSR␉(PD_RS232_S_DSR << PD_RS232_N_SHIFT)␊ |
160 | ␊ |
161 | #define␉PD_RS232_N_BRK␉(PD_RS232_S_BRK << PD_RS232_N_SHIFT)␊ |
162 | #define␉PD_RS232_N_LOOP (PD_RS232_S_LOOP << PD_RS232_N_SHIFT)␊ |
163 | #define PD_RS232_N_TXQ␉(PD_RS232_S_TXQ << PD_RS232_N_SHIFT)␊ |
164 | #define PD_RS232_N_RXQ␉(PD_RS232_S_RXQ << PD_RS232_N_SHIFT)␊ |
165 | ␊ |
166 | class IORS232SerialStreamSync : public IOSerialStreamSync␊ |
167 | {␊ |
168 | OSDeclareDefaultStructors(IORS232SerialStreamSync)␊ |
169 | };␊ |
170 | ␊ |
171 | #endif /* !_SERIAL_IORS232SERIALSTREAMSYNC_H */␊ |
172 | ␊ |
173 |