]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/gdbserver/server.h
2002-02-14 Daniel Jacobowitz <drow@mvista.com>
[thirdparty/binutils-gdb.git] / gdb / gdbserver / server.h
CommitLineData
c906108c 1/* Common definitions for remote server for GDB.
b6ba6518
KB
2 Copyright 1993, 1995, 1997, 1998, 1999, 2000
3 Free Software Foundation, Inc.
c906108c 4
c5aa993b 5 This file is part of GDB.
c906108c 6
c5aa993b
JM
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
c906108c 11
c5aa993b
JM
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
c906108c 16
c5aa993b
JM
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
c906108c
SS
21
22#include "defs.h"
23#include <setjmp.h>
24
25/* Target-specific functions */
26
a14ed312
KB
27int create_inferior (char *program, char **allargs);
28void kill_inferior (void);
29void fetch_inferior_registers (int regno);
30void store_inferior_registers (int regno);
31int mythread_alive (int pid);
32void myresume (int step, int signo);
33unsigned char mywait (char *status);
34void read_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len);
35int write_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len);
c906108c 36int create_inferior ();
4ce44c66 37void initialize_low ();
c906108c
SS
38
39/* Target-specific variables */
40
5c44784c 41extern char *registers;
c906108c
SS
42
43/* Public variables in server.c */
44
45extern int cont_thread;
46extern int general_thread;
47extern int thread_from_wait;
48extern int old_thread_from_wait;
49
50extern jmp_buf toplevel;
51extern int inferior_pid;
52
53/* Functions from remote-utils.c */
54
a14ed312
KB
55int putpkt (char *buf);
56int getpkt (char *buf);
57void remote_open (char *name);
58void remote_close (void);
59void write_ok (char *buf);
60void write_enn (char *buf);
61void enable_async_io (void);
62void disable_async_io (void);
63void convert_ascii_to_int (char *from, char *to, int n);
64void convert_int_to_ascii (char *from, char *to, int n);
65void prepare_resume_reply (char *buf, char status, unsigned char sig);
c906108c 66
a14ed312
KB
67void decode_m_packet (char *from, CORE_ADDR * mem_addr_ptr,
68 unsigned int *len_ptr);
69void decode_M_packet (char *from, CORE_ADDR * mem_addr_ptr,
70 unsigned int *len_ptr, char *to);
c906108c
SS
71
72
73/* Functions from utils.c */
74
a14ed312 75void perror_with_name (char *string);
5c44784c
JM
76
77
78/* Maximum number of bytes to read/write at once. The value here
79 is chosen to fill up a packet (the headers account for the 32). */
80#define MAXBUFBYTES(N) (((N)-32)/2)
81
82/* Buffer sizes for transferring memory, registers, etc. Round up PBUFSIZ to
83 hold all the registers, at least. */
84#define PBUFSIZ ((REGISTER_BYTES > MAXBUFBYTES (2000)) \
85 ? (REGISTER_BYTES * 2 + 32) \
86 : 2000)