blob: d6a8494e5245419e5034519130f45de2a1b3e6cb [file] [log] [blame]
<html lang="en">
<head>
<title>File-I/O Examples - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="File_002dI_002fO-Remote-Protocol-Extension.html#File_002dI_002fO-Remote-Protocol-Extension" title="File-I/O Remote Protocol Extension">
<link rel="prev" href="Constants.html#Constants" title="Constants">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="File-I%2fO-Examples"></a>
<a name="File_002dI_002fO-Examples"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Constants.html#Constants">Constants</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="File_002dI_002fO-Remote-Protocol-Extension.html#File_002dI_002fO-Remote-Protocol-Extension">File-I/O Remote Protocol Extension</a>
<hr>
</div>
<h4 class="subsection">D.14.10 File-I/O Examples</h4>
<p><a name="index-file_002di_002fo-examples-2530"></a>
Example sequence of a write call, file descriptor 3, buffer is at target
address 0x1234, 6 bytes should be written:
<pre class="smallexample"> &lt;- <code>Fwrite,3,1234,6</code>
<em>request memory read from target</em>
-&gt; <code>m1234,6</code>
&lt;- XXXXXX
<em>return "6 bytes written"</em>
-&gt; <code>F6</code>
</pre>
<p>Example sequence of a read call, file descriptor 3, buffer is at target
address 0x1234, 6 bytes should be read:
<pre class="smallexample"> &lt;- <code>Fread,3,1234,6</code>
<em>request memory write to target</em>
-&gt; <code>X1234,6:XXXXXX</code>
<em>return "6 bytes read"</em>
-&gt; <code>F6</code>
</pre>
<p>Example sequence of a read call, call fails on the host due to invalid
file descriptor (<code>EBADF</code>):
<pre class="smallexample"> &lt;- <code>Fread,3,1234,6</code>
-&gt; <code>F-1,9</code>
</pre>
<p>Example sequence of a read call, user presses <kbd>Ctrl-c</kbd> before syscall on
host is called:
<pre class="smallexample"> &lt;- <code>Fread,3,1234,6</code>
-&gt; <code>F-1,4,C</code>
&lt;- <code>T02</code>
</pre>
<p>Example sequence of a read call, user presses <kbd>Ctrl-c</kbd> after syscall on
host is called:
<pre class="smallexample"> &lt;- <code>Fread,3,1234,6</code>
-&gt; <code>X1234,6:XXXXXX</code>
&lt;- <code>T02</code>
</pre>
</body></html>