]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/rdi-share/unixcomm.h
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / gdb / rdi-share / unixcomm.h
CommitLineData
3a9c3d12
NC
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 */
38extern 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 */
51extern 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 */
62extern 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 */
73extern 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 */
85extern 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 */
97extern 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 */
108extern 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 */
119extern 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 */
130extern 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 */
148extern 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 */
163extern 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 */
174extern 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 */
185extern 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 */
197extern 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 */
208extern void Unix_ResetParallel(void);
209
210#endif /* ndef angsd_unixcomm_h */
211
212/* EOF unixcomm.h */