]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/rdi-share/unixcomm.h
Initial creation of sourceware repository
[thirdparty/binutils-gdb.git] / gdb / rdi-share / unixcomm.h
1 /*
2 * Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved.
3 *
4 * This software may be freely used, copied, modified, and distributed
5 * provided that the above copyright notice is preserved in all copies of the
6 * software.
7 */
8
9 /* -*-C-*-
10 *
11 * $Revision$
12 * $Date$
13 *
14 */
15 #ifndef angsd_unixcomm_h
16 #define angsd_unixcomm_h
17
18 #include <errno.h>
19
20 #if defined(BSD)
21 # define ERRNO_FOR_BLOCKED_IO EWOULDBLOCK
22 #else
23 # define ERRNO_FOR_BLOCKED_IO EAGAIN
24 #endif
25
26 /*
27 * Function: Unix_MatchValidSerialDevice
28 * Purpose: check that the serial driver/port name is valid
29 * and return the actual device name if it is.
30 *
31 * Params:
32 * Input: name Name of device going to be used
33 *
34 * Returns:
35 * OK: Pointer to name of the device matched
36 * Error or unrecognised deivce: 0
37 */
38 extern const char *Unix_MatchValidSerialDevice(const char *name);
39
40 /*
41 * Function: Unix_IsSerialInUse
42 * Purpose: check whether the serial port is in use
43 *
44 * Params:
45 * Input: Nothing
46 *
47 * Returns:
48 * OK: 0 Serial device not in use
49 * Error: -1 Serial device in use
50 */
51 extern int Unix_IsSerialInUse(void);
52
53 /*
54 * Function: Unix_OpenSerial
55 * Purpose: open the serial port
56 *
57 * Params:
58 * Input: name Name of device to open
59 *
60 * Returns: Unix 'open' returns
61 */
62 extern int Unix_OpenSerial(const char *name);
63
64 /*
65 * Function: Unix_CloseSerial
66 * Purpose: close the serial port
67 *
68 * Params:
69 * Input: Nothing
70 *
71 * Returns: Nothing
72 */
73 extern void Unix_CloseSerial(void);
74
75 /*
76 * Function: Unix_ReadSerial
77 * Purpose: reads a specified number of bytes (or less) from the serial port
78 *
79 * Params:
80 * Input: buf Buffer to store read bytes
81 * n Maximum number of bytes to read
82 *
83 * Returns: Unix 'read' returns
84 */
85 extern int Unix_ReadSerial(unsigned char *buf, int n, bool block);
86
87 /*
88 * Function: Unix_WriteSerial
89 * Purpose: writes a specified number of bytes (or less) to the serial port
90 *
91 * Params:
92 * Input: buf Buffer to write bytes from
93 * n Maximum number of bytes to write
94 *
95 * Returns: Unix 'write' returns
96 */
97 extern int Unix_WriteSerial(unsigned char *buf, int n);
98
99 /*
100 * Function: Unix_ResetSerial
101 * Purpose: resets the serial port for another operation
102 *
103 * Params:
104 * Input: Nothing
105 *
106 * Returns: Nothing
107 */
108 extern void Unix_ResetSerial(void);
109
110 /*
111 * Function: Unix_SetSerialBaudRate
112 * Purpose: check that the serial driver/port name is valid
113 *
114 * Params:
115 * Input: baudrate termios value for baud rate
116 *
117 * Returns: Nothing
118 */
119 extern void Unix_SetSerialBaudRate(int baudrate);
120
121 /*
122 * Function: Unix_ioctlNonBlocking
123 * Purpose: sets the serial port to non-blocking IO
124 *
125 * Params:
126 * Input: Nothing
127 *
128 * Returns: Nothing
129 */
130 extern void Unix_ioctlNonBlocking(void);
131
132 /*
133 * Function: Unix_IsValidParallelDevice
134 * Purpose: check whether the combined serial and parallel device specification
135 * is ok, and return the ports selected
136 *
137 * Params:
138 * Input: portstring - is a string which specifies which serial
139 * and parallel ports are to be used. Can
140 * include s=<val> and p=<val> separated by a
141 * comma.
142 *
143 * Returns:
144 * Output: *sername - returns the device name of the chosen serial port
145 * *parname - returns the device name of the chosen parallel port
146 * If either of these is NULL on return then the match failed.
147 */
148 extern void Unix_IsValidParallelDevice(
149 const char *portstring, char **sername, char **parname
150 );
151
152 /*
153 * Function: Unix_IsParallelInUse
154 * Purpose: check whether the parallel port is in use
155 *
156 * Params:
157 * Input: Nothing
158 *
159 * Returns:
160 * OK: 0 Parallel device not in use
161 * Error: -1 Parallel device in use
162 */
163 extern int Unix_IsParallelInUse(void);
164
165 /*
166 * Function: Unix_OpenParallel
167 * Purpose: open the parallel port
168 *
169 * Params:
170 * Input: name Name of device to open
171 *
172 * Returns: Unix 'open' returns
173 */
174 extern int Unix_OpenParallel(const char *name);
175
176 /*
177 * Function: Unix_CloseParallel
178 * Purpose: close the parallel port
179 *
180 * Params:
181 * Input: Nothing
182 *
183 * Returns: Nothing
184 */
185 extern void Unix_CloseParallel(void);
186
187 /*
188 * Function: Unix_WriteParallel
189 * Purpose: writes a specified number of bytes (or less) to the parallel port
190 *
191 * Params:
192 * Input: buf Buffer to write bytes from
193 * n Maximum number of bytes to write
194 *
195 * Returns: Unix 'write' returns
196 */
197 extern unsigned int Unix_WriteParallel(unsigned char *buf, int n);
198
199 /*
200 * Function: Unix_ResetParallel
201 * Purpose: resets the parallel port for another operation
202 *
203 * Params:
204 * Input: Nothing
205 *
206 * Returns: Nothing
207 */
208 extern void Unix_ResetParallel(void);
209
210 #endif /* ndef angsd_unixcomm_h */
211
212 /* EOF unixcomm.h */