⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.h

📁 gdb-6.0 linux 下的调试工具
💻 H
字号:
/* Common definitions for remote server for GDB.   Copyright 1993, 1995, 1997, 1998, 1999, 2000, 2002   Free Software Foundation, Inc.   This file is part of GDB.   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place - Suite 330,   Boston, MA 02111-1307, USA.  */#ifndef SERVER_H#define SERVER_H#include "config.h"#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <setjmp.h>#ifdef HAVE_STRING_H#include <string.h>#endif#ifdef NEED_DECLARATION_STRERROR#ifndef strerrorextern char *strerror (int);	/* X3.159-1989  4.11.6.2 */#endif#endif#ifndef ATTR_NORETURN#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))#define ATTR_NORETURN __attribute__ ((noreturn))#else#define ATTR_NORETURN           /* nothing */#endif#endif#ifndef ATTR_FORMAT#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4))#define ATTR_FORMAT(type, x, y) __attribute__ ((format(type, x, y)))#else#define ATTR_FORMAT(type, x, y) /* nothing */#endif#endif/* FIXME: This should probably be autoconf'd for.  It's an integer type at   least the size of a (void *).  */typedef long long CORE_ADDR;/* Generic information for tracking a list of ``inferiors'' - threads,   processes, etc.  */struct inferior_list{  struct inferior_list_entry *head;  struct inferior_list_entry *tail;};struct inferior_list_entry{  int id;  struct inferior_list_entry *next;};/* Opaque type for user-visible threads.  */struct thread_info;#include "regcache.h"#include "gdb/signals.h"#include "target.h"#include "mem-break.h"/* Target-specific functions */void initialize_low ();/* From inferiors.c.  */extern struct inferior_list all_threads;void add_inferior_to_list (struct inferior_list *list,			   struct inferior_list_entry *new_inferior);void for_each_inferior (struct inferior_list *list,			void (*action) (struct inferior_list_entry *));extern struct thread_info *current_inferior;void remove_inferior (struct inferior_list *list,		      struct inferior_list_entry *entry);void remove_thread (struct thread_info *thread);void add_thread (int thread_id, void *target_data);void clear_inferiors (void);struct inferior_list_entry *find_inferior     (struct inferior_list *,      int (*func) (struct inferior_list_entry *,		   void *),      void *arg);struct inferior_list_entry *find_inferior_id (struct inferior_list *list,					      int id);void *inferior_target_data (struct thread_info *);void set_inferior_target_data (struct thread_info *, void *);void *inferior_regcache_data (struct thread_info *);void set_inferior_regcache_data (struct thread_info *, void *);void change_inferior_id (struct inferior_list *list,			 int new_id);/* Public variables in server.c */extern int cont_thread;extern int general_thread;extern int step_thread;extern int thread_from_wait;extern int old_thread_from_wait;extern int server_waiting;extern jmp_buf toplevel;/* Functions from remote-utils.c */int putpkt (char *buf);int getpkt (char *buf);void remote_open (char *name);void remote_close (void);void write_ok (char *buf);void write_enn (char *buf);void enable_async_io (void);void disable_async_io (void);void convert_ascii_to_int (char *from, char *to, int n);void convert_int_to_ascii (char *from, char *to, int n);void new_thread_notify (int id);void dead_thread_notify (int id);void prepare_resume_reply (char *buf, char status, unsigned char sig);void decode_m_packet (char *from, CORE_ADDR * mem_addr_ptr,		      unsigned int *len_ptr);void decode_M_packet (char *from, CORE_ADDR * mem_addr_ptr,		      unsigned int *len_ptr, char *to);int unhexify (char *bin, const char *hex, int count);int hexify (char *hex, const char *bin, int count);int look_up_one_symbol (const char *name, CORE_ADDR *addrp);/* Functions from ``signals.c''.  */enum target_signal target_signal_from_host (int hostsig);int target_signal_to_host_p (enum target_signal oursig);int target_signal_to_host (enum target_signal oursig);/* Functions from utils.c */void perror_with_name (char *string);void error (const char *string,...) ATTR_NORETURN;void fatal (const char *string,...) ATTR_NORETURN;void warning (const char *string,...);/* Functions from the register cache definition.  */void init_registers (void);/* Maximum number of bytes to read/write at once.  The value here   is chosen to fill up a packet (the headers account for the 32).  */#define MAXBUFBYTES(N) (((N)-32)/2)/* Buffer sizes for transferring memory, registers, etc.  Round up PBUFSIZ to   hold all the registers, at least.  */#define	PBUFSIZ ((registers_length () + 32 > 2000) \		 ? (registers_length () + 32) \		 : 2000)#endif /* SERVER_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -