2002-03-27 Daniel Jacobowitz <drow@mvista.com>
[deliverable/binutils-gdb.git] / gdb / gdbserver / server.h
CommitLineData
c906108c 1/* Common definitions for remote server for GDB.
0a30fbc4 2 Copyright 1993, 1995, 1997, 1998, 1999, 2000, 2002
b6ba6518 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 21
0a30fbc4
DJ
22#ifndef SERVER_H
23#define SERVER_H
24
25#include "config.h"
26#include <stdarg.h>
27#include <stdio.h>
28#include <stdlib.h>
29#include <errno.h>
30
31
32/* FIXME: Both of these should be autoconf'd for. */
33#define NORETURN
34typedef long long CORE_ADDR;
35
36#include "regcache.h"
0e98d0a7 37#include "gdb/signals.h"
0a30fbc4 38
c906108c
SS
39#include <setjmp.h>
40
41/* Target-specific functions */
42
a14ed312
KB
43int create_inferior (char *program, char **allargs);
44void kill_inferior (void);
45void fetch_inferior_registers (int regno);
46void store_inferior_registers (int regno);
47int mythread_alive (int pid);
48void myresume (int step, int signo);
49unsigned char mywait (char *status);
50void read_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len);
51int write_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len);
c906108c 52int create_inferior ();
4ce44c66 53void initialize_low ();
c906108c
SS
54
55/* Target-specific variables */
56
5c44784c 57extern char *registers;
c906108c
SS
58
59/* Public variables in server.c */
60
61extern int cont_thread;
62extern int general_thread;
63extern int thread_from_wait;
64extern int old_thread_from_wait;
65
66extern jmp_buf toplevel;
67extern int inferior_pid;
68
69/* Functions from remote-utils.c */
70
a14ed312
KB
71int putpkt (char *buf);
72int getpkt (char *buf);
73void remote_open (char *name);
74void remote_close (void);
75void write_ok (char *buf);
76void write_enn (char *buf);
77void enable_async_io (void);
78void disable_async_io (void);
79void convert_ascii_to_int (char *from, char *to, int n);
80void convert_int_to_ascii (char *from, char *to, int n);
81void prepare_resume_reply (char *buf, char status, unsigned char sig);
c906108c 82
a14ed312
KB
83void decode_m_packet (char *from, CORE_ADDR * mem_addr_ptr,
84 unsigned int *len_ptr);
85void decode_M_packet (char *from, CORE_ADDR * mem_addr_ptr,
86 unsigned int *len_ptr, char *to);
c906108c 87
0e98d0a7
DJ
88/* Functions from ``signals.c''. */
89enum target_signal target_signal_from_host (int hostsig);
90int target_signal_to_host_p (enum target_signal oursig);
91int target_signal_to_host (enum target_signal oursig);
c906108c
SS
92
93/* Functions from utils.c */
94
a14ed312 95void perror_with_name (char *string);
0a30fbc4
DJ
96void error (const char *string,...);
97void fatal (const char *string,...);
98void warning (const char *string,...);
99
5c44784c
JM
100
101
102/* Maximum number of bytes to read/write at once. The value here
103 is chosen to fill up a packet (the headers account for the 32). */
104#define MAXBUFBYTES(N) (((N)-32)/2)
105
106/* Buffer sizes for transferring memory, registers, etc. Round up PBUFSIZ to
107 hold all the registers, at least. */
0a30fbc4
DJ
108#define PBUFSIZ ((registers_length () + 32 > 2000) \
109 ? (registers_length () + 32) \
5c44784c 110 : 2000)
0a30fbc4
DJ
111
112#endif /* SERVER_H */
This page took 0.155259 seconds and 4 git commands to generate.