1/* Remote target communications for serial-line targets in custom GDB protocol
2   Copyright 1999 Free Software Foundation, Inc.
3
4   This file is part of GDB.
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2 of the License, or
9   (at your option) any later version.
10
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software
18   Foundation, Inc., 59 Temple Place - Suite 330,
19   Boston, MA 02111-1307, USA.  */
20
21#ifndef REMOTE_H
22#define REMOTE_H
23
24/* FIXME?: move this interface down to tgt vector) */
25
26/* Read a packet from the remote machine, with error checking, and
27   store it in BUF.  BUF is expected to be of size PBUFSIZ.  If
28   FOREVER, wait forever rather than timing out; this is used while
29   the target is executing user code.  */
30
31extern void getpkt (char *buf, long sizeof_buf, int forever);
32
33/* Send a packet to the remote machine, with error checking.  The data
34   of the packet is in BUF.  The string in BUF can be at most PBUFSIZ
35   - 5 to account for the $, # and checksum, and for a possible /0 if
36   we are debugging (remote_debug) and want to print the sent packet
37   as a string */
38
39extern int putpkt (char *buf);
40
41/* Send HEX encoded string to the target console. (gdb_stdtarg) */
42
43extern void remote_console_output (char *);
44
45
46/* FIXME: cagney/1999-09-20: The remote cisco stuff in remote.c needs
47   to be broken out into a separate file (remote-cisco.[hc]?).  Before
48   that can happen, a remote protocol stack framework needs to be
49   implemented. */
50
51extern void remote_cisco_objfile_relocate (bfd_signed_vma text_off,
52					   bfd_signed_vma data_off,
53					   bfd_signed_vma bss_off);
54
55extern void async_remote_interrupt_twice (void *arg);
56
57extern int remote_write_bytes (CORE_ADDR memaddr, char *myaddr, int len);
58
59extern int remote_read_bytes (CORE_ADDR memaddr, char *myaddr, int len);
60
61extern void (*deprecated_target_resume_hook) (void);
62extern void (*deprecated_target_wait_loop_hook) (void);
63
64#endif
65