• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>oscl_file_stats.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.2.18 -->
7<center>
8<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>oscl_file_stats.h</h1><a href="oscl__file__stats_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span>
1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1100003
1200004 <span class="comment">//                     O S C L _ F I L E  _ STATS</span>
1300005
1400006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1500007
1600019 <span class="preprocessor">#ifndef OSCL_FILE_STATS_H_INCLUDED</span>
1700020 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_FILE_STATS_H_INCLUDED</span>
1800021 <span class="preprocessor"></span>
1900022 <span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span>
2000023 <span class="preprocessor">#include "<a class="code" href="osclconfig__io_8h.html">osclconfig_io.h</a>"</span>
2100024
22<a name="l00025"></a><a class="code" href="group__osclio.html#a19">00025</a> <span class="preprocessor">#define OSCL_FILE_STATS_LOGGER_NODE "OsclFileStats"</span>
2300026 <span class="preprocessor"></span>
24<a name="l00027"></a><a class="code" href="classOsclFileStatsItem.html">00027</a> <span class="keyword">class </span><a class="code" href="classOsclFileStatsItem.html">OsclFileStatsItem</a>
2500028 {
2600029     <span class="keyword">public</span>:
27<a name="l00030"></a><a class="code" href="classOsclFileStatsItem.html#m0">00030</a>         uint32 <a class="code" href="classOsclFileStatsItem.html#m0">iOpCount</a>;
28<a name="l00031"></a><a class="code" href="classOsclFileStatsItem.html#m1">00031</a>         uint32 <a class="code" href="classOsclFileStatsItem.html#m1">iParam</a>;
29<a name="l00032"></a><a class="code" href="classOsclFileStatsItem.html#m2">00032</a>         <a class="code" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a> <a class="code" href="classOsclFileStatsItem.html#m2">iParam2</a>;
30<a name="l00033"></a><a class="code" href="classOsclFileStatsItem.html#m3">00033</a>         uint32 <a class="code" href="classOsclFileStatsItem.html#m3">iStartTick</a>;
31<a name="l00034"></a><a class="code" href="classOsclFileStatsItem.html#m4">00034</a>         uint32 <a class="code" href="classOsclFileStatsItem.html#m4">iTotalTicks</a>;
3200035 };
3300036
34<a name="l00037"></a><a class="code" href="group__osclio.html#a29">00037</a> <span class="keyword">enum</span> <a class="code" href="group__osclio.html#a29">TOsclFileOp</a>
3500038 {
3600039     <a class="code" href="group__osclio.html#a29a2">EOsclFileOp_Open</a>
3700040     , <a class="code" href="group__osclio.html#a29a3">EOsclFileOp_Close</a>
3800041     , <a class="code" href="group__osclio.html#a29a4">EOsclFileOp_Read</a>
3900042     , <a class="code" href="group__osclio.html#a29a5">EOsclFileOp_Write</a>
4000043     , <a class="code" href="group__osclio.html#a29a6">EOsclFileOp_Seek</a>
4100044     , <a class="code" href="group__osclio.html#a29a7">EOsclFileOp_Tell</a>
4200045     , <a class="code" href="group__osclio.html#a29a8">EOsclFileOp_Size</a>
4300046     , <a class="code" href="group__osclio.html#a29a9">EOsclFileOp_Flush</a>
4400047     , <a class="code" href="group__osclio.html#a29a10">EOsclFileOp_EndOfFile</a>
4500048     , <a class="code" href="group__osclio.html#a29a11">EOsclFileOp_NativeOpen</a>
4600049     , <a class="code" href="group__osclio.html#a29a12">EOsclFileOp_NativeClose</a>
4700050     , <a class="code" href="group__osclio.html#a29a13">EOsclFileOp_NativeRead</a>
4800051     , <a class="code" href="group__osclio.html#a29a14">EOsclFileOp_NativeWrite</a>
4900052     , <a class="code" href="group__osclio.html#a29a15">EOsclFileOp_NativeSeek</a>
5000053     , <a class="code" href="group__osclio.html#a29a16">EOsclFileOp_NativeTell</a>
5100054     , <a class="code" href="group__osclio.html#a29a17">EOsclFileOp_NativeSize</a>
5200055     , <a class="code" href="group__osclio.html#a29a18">EOsclFileOp_NativeFlush</a>
5300056     , <a class="code" href="group__osclio.html#a29a19">EOsclFileOp_NativeEndOfFile</a>
5400057     , <a class="code" href="group__osclio.html#a29a20">EOsclFileOp_Last</a>
5500058 };
5600059 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <span class="keyword">const</span> TOsclFileOpStr[] =
5700060 {
5800061     <span class="stringliteral">"Open"</span>
5900062     , <span class="stringliteral">"Close"</span>
6000063     , <span class="stringliteral">"Read"</span>
6100064     , <span class="stringliteral">"Write"</span>
6200065     , <span class="stringliteral">"Seek"</span>
6300066     , <span class="stringliteral">"Tell"</span>
6400067     , <span class="stringliteral">"Size"</span>
6500068     , <span class="stringliteral">"Flush"</span>
6600069     , <span class="stringliteral">"EndOfFile"</span>
6700070     , <span class="stringliteral">"NativeOpen"</span>
6800071     , <span class="stringliteral">"NativeClose"</span>
6900072     , <span class="stringliteral">"NativeRead"</span>
7000073     , <span class="stringliteral">"NativeWrite"</span>
7100074     , <span class="stringliteral">"NativeSeek"</span>
7200075     , <span class="stringliteral">"NativeTell"</span>
7300076     , <span class="stringliteral">"NativeSize"</span>
7400077     , <span class="stringliteral">"NativeFlush"</span>
7500078     , <span class="stringliteral">"NativeEndOfFile"</span>
7600079     , <span class="stringliteral">"???"</span>
7700080 };
7800081
7900082 <span class="keyword">class </span><a class="code" href="classPVLogger.html">PVLogger</a>;
8000083 <span class="keyword">class </span><a class="code" href="classOscl__File.html">Oscl_File</a>;
8100084
82<a name="l00085"></a><a class="code" href="classOsclFileStats.html">00085</a> <span class="keyword">class </span><a class="code" href="classOsclFileStats.html">OsclFileStats</a>
8300086 {
8400087     <span class="keyword">public</span>:
8500088         <a class="code" href="classOsclFileStats.html#a0">OsclFileStats</a>(<a class="code" href="classOscl__File.html">Oscl_File</a>* c);
8600089         <span class="keywordtype">void</span> <a class="code" href="classOsclFileStats.html#a1">Start</a>(uint32&amp; aTicks);
8700090         <span class="keywordtype">void</span> <a class="code" href="classOsclFileStats.html#a2">End</a>(<a class="code" href="group__osclio.html#a29">TOsclFileOp</a> aOp, uint32 aStart, uint32 aParam = 0, <a class="code" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a> aParam2 = 0);
8800091         <span class="keywordtype">void</span> <a class="code" href="classOsclFileStats.html#a3">Log</a>(<a class="code" href="group__osclio.html#a29">TOsclFileOp</a>, <a class="code" href="classPVLogger.html">PVLogger</a>*, uint32);
8900092         <span class="keywordtype">void</span> <a class="code" href="classOsclFileStats.html#a4">LogAll</a>(<a class="code" href="classPVLogger.html">PVLogger</a>*, uint32);
9000093
9100094     <span class="keyword">private</span>:
9200095         <a class="code" href="classOscl__File.html">Oscl_File</a>* iContainer;
9300096         <span class="comment">//fixed array of the max time per item.</span>
9400097         <a class="code" href="classOsclFileStatsItem.html">OsclFileStatsItem</a> iStats[<a class="code" href="group__osclio.html#a29a20">EOsclFileOp_Last</a>];
9500098 };
9600099
9700100
9800101
9900102 <span class="preprocessor">#endif</span>
10000103 <span class="preprocessor"></span>
101</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
102<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
103</small></address>
104</body>
105</html>
106