1<html lang="en"> 2<head> 3<title>File-I/O Examples - Debugging with GDB</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Debugging with GDB"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="File_002dI_002fO-Remote-Protocol-Extension.html#File_002dI_002fO-Remote-Protocol-Extension" title="File-I/O Remote Protocol Extension"> 9<link rel="prev" href="Constants.html#Constants" title="Constants"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 14Free Software Foundation, Inc. 15 16Permission is granted to copy, distribute and/or modify this document 17under the terms of the GNU Free Documentation License, Version 1.3 or 18any later version published by the Free Software Foundation; with the 19Invariant Sections being ``Free Software'' and ``Free Software Needs 20Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,'' 21and with the Back-Cover Texts as in (a) below. 22 23(a) The FSF's Back-Cover Text is: ``You are free to copy and modify 24this GNU Manual. Buying copies from GNU Press supports the FSF in 25developing GNU and promoting software freedom.''--> 26<meta http-equiv="Content-Style-Type" content="text/css"> 27<style type="text/css"><!-- 28 pre.display { font-family:inherit } 29 pre.format { font-family:inherit } 30 pre.smalldisplay { font-family:inherit; font-size:smaller } 31 pre.smallformat { font-family:inherit; font-size:smaller } 32 pre.smallexample { font-size:smaller } 33 pre.smalllisp { font-size:smaller } 34 span.sc { font-variant:small-caps } 35 span.roman { font-family:serif; font-weight:normal; } 36 span.sansserif { font-family:sans-serif; font-weight:normal; } 37--></style> 38<link rel="stylesheet" type="text/css" href="../cs.css"> 39</head> 40<body> 41<div class="node"> 42<a name="File-I%2fO-Examples"></a> 43<a name="File_002dI_002fO-Examples"></a> 44<p> 45Previous: <a rel="previous" accesskey="p" href="Constants.html#Constants">Constants</a>, 46Up: <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> 47<hr> 48</div> 49 50<h4 class="subsection">D.14.10 File-I/O Examples</h4> 51 52<p><a name="index-file_002di_002fo-examples-2530"></a> 53Example sequence of a write call, file descriptor 3, buffer is at target 54address 0x1234, 6 bytes should be written: 55 56<pre class="smallexample"> <- <code>Fwrite,3,1234,6</code> 57 <em>request memory read from target</em> 58 -> <code>m1234,6</code> 59 <- XXXXXX 60 <em>return "6 bytes written"</em> 61 -> <code>F6</code> 62</pre> 63 <p>Example sequence of a read call, file descriptor 3, buffer is at target 64address 0x1234, 6 bytes should be read: 65 66<pre class="smallexample"> <- <code>Fread,3,1234,6</code> 67 <em>request memory write to target</em> 68 -> <code>X1234,6:XXXXXX</code> 69 <em>return "6 bytes read"</em> 70 -> <code>F6</code> 71</pre> 72 <p>Example sequence of a read call, call fails on the host due to invalid 73file descriptor (<code>EBADF</code>): 74 75<pre class="smallexample"> <- <code>Fread,3,1234,6</code> 76 -> <code>F-1,9</code> 77</pre> 78 <p>Example sequence of a read call, user presses <kbd>Ctrl-c</kbd> before syscall on 79host is called: 80 81<pre class="smallexample"> <- <code>Fread,3,1234,6</code> 82 -> <code>F-1,4,C</code> 83 <- <code>T02</code> 84</pre> 85 <p>Example sequence of a read call, user presses <kbd>Ctrl-c</kbd> after syscall on 86host is called: 87 88<pre class="smallexample"> <- <code>Fread,3,1234,6</code> 89 -> <code>X1234,6:XXXXXX</code> 90 <- <code>T02</code> 91</pre> 92 </body></html> 93 94