1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 #ifndef GSI_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 #define GSI_H
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Project :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Modul :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 | Purpose : These definitions provide a driver interface to multiple serial
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 | ports.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 /*==== INCLUDES =============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include <gdi.h>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /*==== DEFINITIONS ==========================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 * Baud rates
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #define GSI_BAUD_AUTO ( 1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #define GSI_BAUD_75 ( 2)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #define GSI_BAUD_150 ( 3)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #define GSI_BAUD_300 ( 4)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #define GSI_BAUD_600 ( 5)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 #define GSI_BAUD_1200 ( 6)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #define GSI_BAUD_2400 ( 7)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #define GSI_BAUD_4800 ( 8)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #define GSI_BAUD_7200 ( 9)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #define GSI_BAUD_9600 (10)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 #define GSI_BAUD_14400 (11)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #define GSI_BAUD_19200 (12)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #define GSI_BAUD_28800 (13)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #define GSI_BAUD_33900 (14)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #define GSI_BAUD_38400 (15)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 #define GSI_BAUD_57600 (16)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #define GSI_BAUD_115200 (17)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #define GSI_BAUD_203125 (18)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 #define GSI_BAUD_406250 (19)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #define GSI_BAUD_812500 (20)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 * Bits per character
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #define GSI_CHAR5 ( 5)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 #define GSI_CHAR6 ( 6)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 #define GSI_CHAR7 ( 7)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 #define GSI_CHAR8 ( 8)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 * Stop bits
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 #define GSI_STOP1 ( 1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 #define GSI_STOP15 (15)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 #define GSI_STOP2 ( 2)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 * Parity bit
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 #define GSI_PARITYNO ( 1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 #define GSI_PARITYODD ( 2)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 #define GSI_PARITYEVEN ( 3)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 #define GSI_PARITYSPACE ( 4)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 * Flow control
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 #define GSI_FLOWNO ( 1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 #define GSI_FLOWHW ( 2)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 #define GSI_FLOWSW ( 3)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 * Bit positions
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 #define GSI_BRKLEN_POS ( 0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 #define GSI_BRK_POS (25)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 #define GSI_DISC_POS (26)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 #define GSI_ESC_POS (27)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 #define GSI_RING_POS (28)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 #define GSI_X_POS (29)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 #define GSI_SB_POS (30)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 #define GSI_SA_POS (31)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 * Bit masks
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 #define GSI_BRKLEN_MASK (255UL << GSI_BRKLEN_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 #define GSI_BRK_MASK (1UL << GSI_BRK_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 #define GSI_DISC_MASK (1UL << GSI_DISC_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 #define GSI_ESC_MASK (1UL << GSI_ESC_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 #define GSI_RING_MASK (1UL << GSI_RING_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 #define GSI_X_MASK (1UL << GSI_X_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 #define GSI_SB_MASK (1UL << GSI_SB_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 #define GSI_SA_MASK (1UL << GSI_SA_POS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 * Size of the circular buffers used in the driver.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 #define GSI_MAX_BUFFER_SIZE (512)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 /*==== TYPES ================================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 * Device Control Block
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 typedef struct {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 USHORT Baud;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 UBYTE DataBits;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 UBYTE StopBits;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 UBYTE Parity;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 UBYTE RxFlowControl;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 UBYTE TxFlowControl;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 USHORT RxBufferSize;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 USHORT TxBufferSize;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 USHORT RxThreshold;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 USHORT TxThreshold;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 UBYTE XON;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 UBYTE XOFF;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 UBYTE EscChar;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 USHORT GuardPeriod;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 } T_GSI_DCB;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 /*==== FUNCTION PROTOTYPES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 #ifdef _TARGET_
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 | Function : GSI_Init
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 | Description : The function initializes the module and the connected serial
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 | device.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 | DrvHandle - unique handle for this device
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 | CallbackFunc - callback function for this device
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 | DrvInfo - pointer to the driver parameters
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 | Return : DRV_OK - Initialization successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 | DRV_INITIALIZED - Driver already initialized
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 extern USHORT GSI_Init (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 USHORT DrvHANDLE,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 T_DRV_CB_FUNC CallbackFunc,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 T_DRV_EXPORT **DrvInfo);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 | Function : GSI_Exit
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 | Description : The function is called when the driver functionality is no
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 | longer required. The driver terminates regardless of any
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 | outstanding data to be sent.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 | Return : no return value
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 extern void GSI_Exit (UBYTE DeviceNo);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 | Function : GSI_Read
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 | Description : This function copies received data into a caller provided
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 | buffer and returns the line status. It should always return
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 | immediately after copying the data, without waiting for any
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 | more data.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 | Buffer - buffer to copy the data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 | Length - On call: size of Buffer; On return: copied bytes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 | State - line states of the serial connection
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 | DRV_NOTCONFIGURED - The driver is not yet configured
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 extern USHORT GSI_Read (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 void *Buffer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 USHORT *Length,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 ULONG *State);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 | Function : GSI_Write
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 | Description : This functions copies the provided data into the buffer of the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 | driver and sets the line states. This function must return
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 | immediately after copying, even if there is not enough space in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 | the driver buffer to copy all provided data.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 | Buffer - buffer containing the data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 | Length - On call: size of data; On return: copied bytes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 | State - line states of the serial connection
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 | Mask - manipulated State bits
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 | DRV_NOTCONFIGURED - The driver is not yet configured
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 extern USHORT GSI_Write (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 void *Buffer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 USHORT *Length,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 ULONG State,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 ULONG Mask);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 | Function : GSI_Look
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 | Description : This function copies received data into a caller provided
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 | buffer without delete the data in the driver buffer. It should
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 | always return immediately after copying the data, without
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 | waiting for any more data.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 | Buffer - buffer to copy the data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 | Length - On call: size of Buffer; On return: copied bytes
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 | State - line states of the serial connection
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 | DRV_NOTCONFIGURED - The driver is not yet configured
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 extern USHORT GSI_Look (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 void *Buffer,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 USHORT *Length,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 ULONG *State);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 | Function : GSI_Clear
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 | Description : This function is used to clear the device internal buffers.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 | BufferType - buffer to be cleared
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 | DRV_INPROCESS - The driver is busy clearing the buffers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 extern USHORT GSI_Clear (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 USHORT BufferType);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 | Function : GSI_Flush
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 | Description : This function is used to flush the device internal transmit
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 | buffer.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288 | DRV_INVALID_PARAMS - The specified device does not exist
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 | DRV_INPROCESS - The driver is busy clearing the buffers
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 | DRV_NOTCONFIGURED - The driver is not yet configured
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 extern USHORT GSI_Flush (UBYTE DeviceNo);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 | Function : GSI_SetSignal
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 | Description : This function enables indication signals from the driver. These
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302 | signals are sent via the device callback function.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 | SignalType - Signal type to be set
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308 | DRV_INVALID_PARAMS - parameters out of range
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 | DRV_SIGFCT_NOTAVAILABLE - no event signaling functionality
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 extern USHORT GSI_SetSignal (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315 USHORT SignalType);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 | Function : GSI_ResetSignal
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321 | Description : This function disables indication signals from the driver.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 | SignalType - Signal type to be reset
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 | DRV_INVALID_PARAMS - parameters out of range
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 | DRV_SIGFCT_NOTAVAILABLE - no event signaling functionality
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 extern USHORT GSI_ResetSignal (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 USHORT SignalType);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 | Function : GSI_SetConfig
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 | Description : This function configures the serial device.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 | DCBPtr - pointer to the driver control block
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 | DRV_INVALID_PARAMS - parameters out of range
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 extern USHORT GSI_SetConfig (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 T_GSI_DCB *DCBPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 | Function : GSI_GetConfig
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358 | Description : This function reads the serial device configuration.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360 | Parameters : DeviceNo - serial device number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 | DCBPtr - pointer to the driver control block
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 | Return : DRV_OK - Function successful
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 | DRV_INTERNAL_ERROR - Internal driver error
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 | DRV_NOTCONFIGURED - The driver is not yet configured
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 extern USHORT GSI_GetConfig (UBYTE DeviceNo,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 T_GSI_DCB *DCBPtr);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374 | Function : GSI_Callback
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 | Description : This function is needed for cascaded drivers. This function
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 | must not be confused with the parameter CallbackFunc passed to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 | GSI_Init().
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380 | Parameters : Signal - pointer to the signal information data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 | Return : no return value
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 extern void GSI_Callback (T_DRV_SIGNAL *Signal);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 #endif /* _TARGET_ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 #endif /* !GSI_H */
|