Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 5/6] Move remote_fileio_data to header file
Date: Sun, 31 Dec 2023 13:25:42 -0700	[thread overview]
Message-ID: <20231231-remote-fileio-v1-5-249cc6c440d9@tromey.com> (raw)
In-Reply-To: <20231231-remote-fileio-v1-0-249cc6c440d9@tromey.com>

This moves remote_fileio_data to remote-fileio.h, in preparation for
removing the global.
---
 gdb/remote-fileio.c | 36 +-----------------------------------
 gdb/remote-fileio.h | 38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 35 deletions(-)

diff --git a/gdb/remote-fileio.c b/gdb/remote-fileio.c
index e001c220522..a954ab1bb55 100644
--- a/gdb/remote-fileio.c
+++ b/gdb/remote-fileio.c
@@ -37,41 +37,7 @@
 #endif
 #include <signal.h>
 
-static struct remote_fileio_data
-{
-public:
-
-  void request (remote_target *remote,
-		char *buf, int ctrlc_pending_p);
-
-  void reset ();
-
-private:
-
-  int fd_to_targetfd (int fd);
-  int map_fd (int target_fd);
-  void close_target_fd (int target_fd);
-
-  void func_open (remote_target *remote, char *buf);
-  void func_close (remote_target *remote, char *buf);
-  void func_read (remote_target *remote, char *buf);
-  void func_write (remote_target *remote, char *buf);
-  void func_lseek (remote_target *remote, char *buf);
-  void func_rename (remote_target *remote, char *buf);
-  void func_unlink (remote_target *remote, char *buf);
-  void func_stat (remote_target *remote, char *buf);
-  void func_fstat (remote_target *remote, char *buf);
-  void func_gettimeofday (remote_target *remote, char *buf);
-  void func_isatty (remote_target *remote, char *buf);
-  void func_system (remote_target *remote, char *buf);
-  void do_request (remote_target *remote, char *buf);
-
-  int init_fd_map ();
-  int resize_fd_map ();
-  int next_free_fd ();
-
-  std::vector<int> m_fd_map;
-} remote_fio_data;
+static remote_fileio_data remote_fio_data;
 
 #define FIO_FD_INVALID		-1
 #define FIO_FD_CONSOLE_IN	-2
diff --git a/gdb/remote-fileio.h b/gdb/remote-fileio.h
index 71d85c618a9..c632c9e40f8 100644
--- a/gdb/remote-fileio.h
+++ b/gdb/remote-fileio.h
@@ -27,6 +27,44 @@
 struct cmd_list_element;
 struct remote_target;
 
+/* This holds the state needed by the remote fileio code.  */
+
+struct remote_fileio_data
+{
+public:
+
+  void request (remote_target *remote,
+		char *buf, int ctrlc_pending_p);
+
+  void reset ();
+
+private:
+
+  int fd_to_targetfd (int fd);
+  int map_fd (int target_fd);
+  void close_target_fd (int target_fd);
+
+  void func_open (remote_target *remote, char *buf);
+  void func_close (remote_target *remote, char *buf);
+  void func_read (remote_target *remote, char *buf);
+  void func_write (remote_target *remote, char *buf);
+  void func_lseek (remote_target *remote, char *buf);
+  void func_rename (remote_target *remote, char *buf);
+  void func_unlink (remote_target *remote, char *buf);
+  void func_stat (remote_target *remote, char *buf);
+  void func_fstat (remote_target *remote, char *buf);
+  void func_gettimeofday (remote_target *remote, char *buf);
+  void func_isatty (remote_target *remote, char *buf);
+  void func_system (remote_target *remote, char *buf);
+  void do_request (remote_target *remote, char *buf);
+
+  int init_fd_map ();
+  int resize_fd_map ();
+  int next_free_fd ();
+
+  std::vector<int> m_fd_map;
+};
+
 /* Unified interface to remote fileio, called in remote.c from
    remote_wait () and remote_async_wait ().  */
 extern void remote_fileio_request (remote_target *remote,

-- 
2.43.0


  parent reply	other threads:[~2023-12-31 20:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-31 20:25 [PATCH 0/6] Make remote-fileio per-target Tom Tromey
2023-12-31 20:25 ` [PATCH 1/6] Make remote_fio_func_map 'const' Tom Tromey
2023-12-31 20:25 ` [PATCH 2/6] Use vector in remote-fileio.c Tom Tromey
2024-01-01 14:20   ` Lancelot SIX
2024-01-01 18:39     ` Simon Marchi
2023-12-31 20:25 ` [PATCH 3/6] Use methods for remote fileio Tom Tromey
2023-12-31 20:25 ` [PATCH 4/6] Remove sentinel from remote_fio_func_map Tom Tromey
2023-12-31 20:25 ` Tom Tromey [this message]
2023-12-31 20:25 ` [PATCH 6/6] Store remote fileio state in remote_state Tom Tromey
2024-01-01 14:28 ` [PATCH 0/6] Make remote-fileio per-target Lancelot SIX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231231-remote-fileio-v1-5-249cc6c440d9@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox