Mac OS 9
Serial.h
Go to the documentation of this file.
1 
19 #ifndef __SERIAL__
20 #define __SERIAL__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #if PRAGMA_ONCE
27 #pragma once
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C"
32 {
33 #endif
34 
35 #if PRAGMA_IMPORT
36 #pragma import on
37 #endif
38 
39 #if PRAGMA_STRUCT_ALIGN
40 #pragma options align = mac68k
41 #elif PRAGMA_STRUCT_PACKPUSH
42 #pragma pack(push, 2)
43 #elif PRAGMA_STRUCT_PACK
44 #pragma pack(2)
45 #endif
46 
47  enum
48  {
49  baud150 = 763,
50  baud300 = 380,
51  baud600 = 189,
52  baud1200 = 94,
53  baud1800 = 62,
54  baud2400 = 46,
55  baud3600 = 30,
56  baud4800 = 22,
57  baud7200 = 14,
58  baud9600 = 10,
59  baud14400 = 6,
60  baud19200 = 4,
61  baud28800 = 2,
62  baud38400 = 1,
63  baud57600 = 0
64  };
65 
66  enum
67  {
68  stop10 = 16384,
69  stop15 = -32768L,
70  stop20 = -16384
71  };
72 
73  enum
74  {
75  noParity = 0,
76  oddParity = 4096,
77  evenParity = 12288
78  };
79 
80  enum
81  {
82  data5 = 0,
83  data6 = 2048,
84  data7 = 1024,
85  data8 = 3072
86  };
87 
88  enum
89  {
90  aData = 6,
91  aCtl = 2,
92  bData = 4,
93  bCtl = 0
94  };
95 
96  enum
97  {
98  dsrEvent = 2,
99  riEvent = 4,
100  dcdEvent = 8,
101  ctsEvent = 32,
102  breakEvent = 128
103  };
104 
105  enum
106  {
107  xOffWasSent = 128,
108  dtrNegated = 64,
109  rtsNegated = 32
110  };
111 
112  enum
113  {
114  ainRefNum = -6,
115  aoutRefNum = -7,
116  binRefNum = -8,
117  boutRefNum = -9
118  };
119 
120  enum
121  {
122  swOverrunErr = 1,
123  breakErr = 8,
124  parityErr = 16,
126  framingErr = 64
127  };
128 
129  enum
130  {
131  kOptionPreserveDTR = 128,
132  kOptionClockX1CTS = 64
133  };
134 
135  enum
136  {
137  kUseCTSOutputFlowControl = 128,
141  };
142 
143  enum
144  {
145  sPortA = 0,
146  sPortB = 1,
147  sCOM1 = 2,
148  sCOM2 = 3
149  };
150 
151  typedef SInt8 SPortSel;
153  enum
154  {
155  kSERDConfiguration =
156  8,
158  9,
172  21,
174  22,
181  28,
186  kSERD230KBaud = 230
187  };
188 
190  enum
191  {
192  kSERDInputCount = 2,
195  kSERDGetDCD = 256
196  };
197 
198  struct SerShk
199  {
200  Byte fXOn;
201  Byte fCTS;
202  unsigned char xOn;
203  unsigned char xOff;
204  Byte errs;
205  Byte evts;
206  Byte fInX;
207  Byte fDTR;
208  };
209  typedef struct SerShk SerShk;
210  struct SerStaRec
211  {
212  Byte cumErrs;
213  Byte xOffSent;
215  Byte rdPend;
216  Byte wrPend;
217  Byte ctsHold;
218  Byte xOffHold;
219  Byte dsrHold;
220  Byte modemStatus;
221  };
222  typedef struct SerStaRec SerStaRec;
223 #if OLDROUTINENAMES
234  enum
235  {
236  serdOptionClockExternal =
238  serdOptionPreserveDTR =
239  kOptionPreserveDTR
240  };
241 
243  enum
244  {
245  serdReset = kSERDConfiguration,
246  serdSetBuf = kSERDInputBuffer,
247  serdHShake = kSERDSerHShake,
248  serdClrBrk = kSERDClearBreak,
249  serdSetBrk = kSERDSetBreak,
250  serdSetBaud = kSERDBaudRate,
251  serdHShakeDTR = kSERDHandshake,
252  serdSetMIDI = kSERDClockMIDI,
253  serdSetMisc = kSERDMiscOptions,
254  serdSetDTR = kSERDAssertDTR,
255  serdClrDTR = kSERDNegateDTR,
256  serdSetPEChar = kSERDSetPEChar,
257  serdSetPECharAlternate = kSERDSetPEAltChar,
258  serdSetXOff = kSERDSetXOffFlag,
259  serdClrXOff = kSERDClearXOffFlag,
260  serdSendXOnConditional = kSERDSendXOn,
261  serdSendXOn = kSERDSendXOnOut,
262  serdSendXOffConditional = kSERDSendXOff,
263  serdSendXOff = kSERDSendXOffOut,
264  serdChannelReset = kSERDResetChannel,
265  serdSet230KBaud = kSERD230KBaud
266  };
267 
269  enum
270  {
271  serdGetBuf = kSERDInputCount,
272  serdStatus = kSERDStatus,
273  serdGetVers = kSERDVersion
274  };
275 
276 #endif
289 #if CALL_NOT_IN_CARBON
298  OSErr
299  SerReset(short refNum, short serConfig);
300 
309  OSErr
310  SerSetBuf(short refNum, Ptr serBPtr, short serBLen);
311 
320  OSErr
321  SerHShake(short refNum, const SerShk *flags);
322 
331  OSErr
332  SerSetBrk(short refNum);
333 
342  OSErr
343  SerClrBrk(short refNum);
344 
365  OSErr
366  SerGetBuf(short refNum, long *count);
367 
376  OSErr
377  SerStatus(short refNum, SerStaRec *serSta);
378 
379 #endif
381 #if PRAGMA_STRUCT_ALIGN
382 #pragma options align = reset
383 #elif PRAGMA_STRUCT_PACKPUSH
384 #pragma pack(pop)
385 #elif PRAGMA_STRUCT_PACK
386 #pragma pack()
387 #endif
388 
389 #ifdef PRAGMA_IMPORT_OFF
390 #pragma import off
391 #elif PRAGMA_IMPORT
392 #pragma import reset
393 #endif
394 
395 #ifdef __cplusplus
396 }
397 #endif
398 
399 #endif
400 * /
Basic Macintosh data types.
@ bCtl
Definition: Serial.h:93
@ bData
Definition: Serial.h:92
@ aCtl
Definition: Serial.h:91
@ kOptionClockX1CTS
Definition: Serial.h:132
@ kSERDStatus
Definition: Serial.h:193
@ kSERDVersion
Definition: Serial.h:194
@ kSERDGetDCD
Definition: Serial.h:195
OSErr SerGetBuf(short refNum, long *count)
Get the number of bytes in an input driver's buffer.
OSErr SerSetBrk(short refNum)
@ dtrNegated
Definition: Serial.h:108
@ rtsNegated
Definition: Serial.h:109
OSErr SerSetBuf(short refNum, Ptr serBPtr, short serBLen)
@ hwOverrunErr
Definition: Serial.h:125
@ breakErr
Definition: Serial.h:123
@ framingErr
Definition: Serial.h:126
@ parityErr
Definition: Serial.h:124
@ kUseRTSInputFlowControl
Definition: Serial.h:139
@ kUseDSROutputFlowControl
Definition: Serial.h:138
@ kUseDTRInputFlowControl
Definition: Serial.h:140
@ kSERDSerHShake
Definition: Serial.h:159
@ kSERD230KBaud
Definition: Serial.h:186
@ kSERDHandshakeRS232
Definition: Serial.h:180
@ kSERDNegateRTS
Definition: Serial.h:184
@ kSERDSendXOffOut
Definition: Serial.h:178
@ kSERDResetChannel
Definition: Serial.h:179
@ kSERDNegateDTR
Definition: Serial.h:167
@ kSERDClockMIDI
Definition: Serial.h:164
@ kSERDSetXOffFlag
Definition: Serial.h:171
@ kSERDSendXOff
Definition: Serial.h:177
@ kSERDMiscOptions
Definition: Serial.h:165
@ kSERDInputBuffer
Definition: Serial.h:157
@ kSERDAssertDTR
Definition: Serial.h:166
@ kSERDHandshake
Definition: Serial.h:163
@ kSERDSetBreak
Definition: Serial.h:161
@ kSERDSendXOnOut
Definition: Serial.h:176
@ kSERDStickParity
Definition: Serial.h:182
@ kSERDSetPEAltChar
Definition: Serial.h:169
@ kSERDSetPEChar
Definition: Serial.h:168
@ kSERDAssertRTS
Definition: Serial.h:183
@ kSERD115KBaud
Definition: Serial.h:185
@ kSERDClearBreak
Definition: Serial.h:160
@ kSERDClearXOffFlag
Definition: Serial.h:173
@ kSERDBaudRate
Definition: Serial.h:162
@ kSERDSendXOn
Definition: Serial.h:175
@ breakEvent
Definition: Serial.h:102
@ ctsEvent
Definition: Serial.h:101
@ riEvent
Definition: Serial.h:99
@ dcdEvent
Definition: Serial.h:100
@ sPortB
Definition: Serial.h:146
@ sCOM2
Definition: Serial.h:148
@ sCOM1
Definition: Serial.h:147
OSErr SerStatus(short refNum, SerStaRec *serSta)
OSErr SerClrBrk(short refNum)
@ boutRefNum
Definition: Serial.h:117
@ binRefNum
Definition: Serial.h:116
@ aoutRefNum
Definition: Serial.h:115
OSErr SerReset(short refNum, short serConfig)
OSErr SerHShake(short refNum, const SerShk *flags)
Definition: Serial.h:199
Byte fCTS
Definition: Serial.h:201
Byte fInX
Definition: Serial.h:206
unsigned char xOn
Definition: Serial.h:202
Byte fDTR
Definition: Serial.h:207
Byte evts
Definition: Serial.h:205
unsigned char xOff
Definition: Serial.h:203
Byte errs
Definition: Serial.h:204
Definition: Serial.h:211
Byte wrPend
Definition: Serial.h:216
Byte rdPend
Definition: Serial.h:215
Byte modemStatus
Definition: Serial.h:220
Byte xOffHold
Definition: Serial.h:218
Byte xOffSent
Definition: Serial.h:213
Byte ctsHold
Definition: Serial.h:217
Byte dsrHold
Definition: Serial.h:219