haiku/docs/develop/ikteam/schedule/supportkit/IO.html

905 lines
21 KiB
HTML
Raw Normal View History

<html>
<head>
<title>IO Tasks</title>
</head>
<body>
<h1>IO Tasks<hr></h1>
<!-- summary table -->
<table border>
<!-- table column headers -->
<th>
<table>
<td>
<a href="#legend">
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
</a>
</td>
</table>
</th>
<th><strong>Task Summary</strong></th>
<th><strong>Owner</strong></th>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td width="100%">
BDataIO
</td>
<!-- owner -->
<td width="25%">
Steve Vallee
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td width="100%">
BMallocIO
</td>
<!-- owner -->
<td width="25%">
Steve Vallee
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td width="100%">
BMemoryIO
</td>
<!-- owner -->
<td width="25%">
Steve Vallee
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td width="100%">
BPositionIO
</td>
<!-- owner -->
<td width="25%">
Steve Vallee
</td>
</tr>
</table>
<br>
<br>
<br>
<br>
<br>
<!-- detail table -->
<table border>
<!-- table column headers -->
<th>
<table>
<td>
<a href="#legend">
<img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/User.gif" width="22" height="22" alt="Use Cases" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec" border="0">
</a>
</td>
<td>
<a href="#legend">
<img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation" border="0">
</a>
</td>
</table>
</th>
<th width="100%"><strong>Task Details</strong></th>
<!-- <th><strong>Owner</strong></th> -->
<!-- Class header -->
<tr>
<td colspan="7"><center><strong>BDataIO Class</strong></center></td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
BDataIO
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ~BDataIO();
</td>
</tr>
<!-- Class header -->
<tr>
<td colspan="7"><center><strong>BMallocIO Class</strong></center></td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
BMallocIO();
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ~BMallocIO();
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t ReadAt(off_t pos, void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t WriteAt(off_t pos, const void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual off_t Seek(off_t pos, uint32 seek_mode);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual off_t Position() const;
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual status_t SetSize(off_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
void SetBlockSize(size_t blocksize);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
const void* Buffer() const;
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
size_t BufferLength() const;
</td>
</tr>
<!-- Class header -->
<tr>
<td colspan="7"><center><strong>BMemoryIO Class</strong></center></td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
BMemoryIO(void *p, size_t len);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
BMemoryIO(const void *p, size_t len);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ~BMemoryIO();
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t ReadAt(off_t pos, void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t WriteAt(off_t pos, const void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual off_t Seek(off_t pos, uint32 seek_mode);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual off_t Position() const;
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual status_t SetSize(off_t size);
</td>
</tr>
<!-- Class header -->
<tr>
<td colspan="7"><center><strong>BPositionIO Class</strong></center></td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
BPositionIO();
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ~BPositionIO();
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t Read(void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual ssize_t Write(const void *buffer, size_t size);
</td>
</tr>
<tr>
<td>
<table>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Functional Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Use Cases"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Unit Tests"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Technical Spec"></td>
<td><img src="
../../images/blank-20.gif
" width="22" height="22" alt="Implementation"></td>
</table>
</td>
<!-- task -->
<td>
virtual status_t SetSize(off_t size);
</td>
</tr>
</table>
<br><br>
<hr>
<br><br>
<!-- legend table -->
<a name="legend">
<table border>
<tr>
<td align="center"><strong>Legend</strong></td>
</tr>
<tr>
<td>
<table>
<tr>
<td><img src="../../images/DocumentDraw.gif" width="22" height="22" alt="Functional Spec"></td>
<td>Functional Spec</td>
</tr>
<tr>
<td><img src="../../images/User.gif" width="22" height="22" alt="Use Cases"></td>
<td>Use Cases</td>
</tr>
<tr>
<td><img src="../../images/Help.gif" width="22" height="22" alt="Unit Tests"></td>
<td>Unit Tests</td>
</tr>
<tr>
<td><img src="../../images/Hammer.gif" width="22" height="22" alt="Technical Spec"></td>
<td>Technical Spec</td>
</tr>
<tr>
<td><img src="../../images/GoalFlag.gif" width="22" height="22" alt="Implementation"></td>
<td>Implementation</td>
</tr>
<tr>
<td><img src="../../images/Check.gif" width="22" height="22" alt="Completed"></td>
<td>Completed</td>
</tr>
</table>
</td>
</tr>
</table>
</a>
<br>
<!-- The obligatory SourceForge plug -->
<center>
<small>The OpenBeOS project is hosted by:</small><br><br>
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=33869&type=1" width="88" height="31" border="0" alt="SourceForge Logo">
</a>
<p>
<small>Copyright &copy; 2001-2002
<a href="http://www.openbeos.org">OpenBeOS</a> Project</small>
</center>
</body>
</html>