<html lang="en">
<head>
<title>struct timeval - 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="Protocol_002dspecific-Representation-of-Datatypes.html#Protocol_002dspecific-Representation-of-Datatypes" title="Protocol-specific Representation of Datatypes">
<link rel="prev" href="struct-stat.html#struct-stat" title="struct stat">
<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="struct-timeval"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="struct-stat.html#struct-stat">struct stat</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Protocol_002dspecific-Representation-of-Datatypes.html#Protocol_002dspecific-Representation-of-Datatypes">Protocol-specific Representation of Datatypes</a>
<hr>
</div>

<h5 class="unnumberedsubsubsec">struct timeval</h5>

<p><a name="index-struct-timeval_002c-in-file_002di_002fo-protocol-2523"></a>
The buffer of type <code>struct timeval</code> used by the File-I/O protocol
is defined as follows:

<pre class="smallexample">     struct timeval {
         time_t tv_sec;  /* second */
         long   tv_usec; /* microsecond */
     };
</pre>
   <p>The integral datatypes conform to the definitions given in the
appropriate section (see <a href="Integral-Datatypes.html#Integral-Datatypes">Integral Datatypes</a>, for details) so this
structure is of size 8 bytes.

   </body></html>

