Newer
Older
ubix2 / doc / html / kern__descrip_8h-source.html
@reddawg reddawg on 15 Dec 2006 31 KB Changes
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>UbixOS V2: src/sys/include/sys/kern_descrip.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="dir_897b6a2d7bab147dd1db58381aad3984.html">src</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_d26f37d6397a53073c964316867e8d67.html">sys</a></div>
<h1>kern_descrip.h</h1><a href="kern__descrip_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*****************************************************************************************</span>
<a name="l00002"></a>00002 <span class="comment"> Copyright (c) 2002-2004 The UbixOS Project</span>
<a name="l00003"></a>00003 <span class="comment"> All rights reserved.</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment"> Redistribution and use in source and binary forms, with or without modification, are</span>
<a name="l00006"></a>00006 <span class="comment"> permitted provided that the following conditions are met:</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment"> Redistributions of source code must retain the above copyright notice, this list of</span>
<a name="l00009"></a>00009 <span class="comment"> conditions, the following disclaimer and the list of authors.  Redistributions in binary</span>
<a name="l00010"></a>00010 <span class="comment"> form must reproduce the above copyright notice, this list of conditions, the following</span>
<a name="l00011"></a>00011 <span class="comment"> disclaimer and the list of authors in the documentation and/or other materials provided</span>
<a name="l00012"></a>00012 <span class="comment"> with the distribution. Neither the name of the UbixOS Project nor the names of its</span>
<a name="l00013"></a>00013 <span class="comment"> contributors may be used to endorse or promote products derived from this software</span>
<a name="l00014"></a>00014 <span class="comment"> without specific prior written permission.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment"> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY</span>
<a name="l00017"></a>00017 <span class="comment"> EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF</span>
<a name="l00018"></a>00018 <span class="comment"> MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL</span>
<a name="l00019"></a>00019 <span class="comment"> THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span>
<a name="l00020"></a>00020 <span class="comment"> SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT</span>
<a name="l00021"></a>00021 <span class="comment"> OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
<a name="l00022"></a>00022 <span class="comment"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR</span>
<a name="l00023"></a>00023 <span class="comment"> TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
<a name="l00024"></a>00024 <span class="comment"> SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
<a name="l00025"></a>00025 <span class="comment"></span>
<a name="l00026"></a>00026 <span class="comment"> $Id$</span>
<a name="l00027"></a>00027 <span class="comment"></span>
<a name="l00028"></a>00028 <span class="comment">*****************************************************************************************/</span>
<a name="l00029"></a>00029 
<a name="l00030"></a>00030 <span class="preprocessor">#ifndef _KERN_DESCRIP_H</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define _KERN_DESCRIP_H</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span>
<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;<a class="code" href="thread_8h.html">sys/thread.h</a>&gt;</span>
<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;<a class="code" href="sysproto_8h.html">sys/sysproto.h</a>&gt;</span>
<a name="l00035"></a>00035 
<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;<a class="code" href="file_8h.html">vfs/file.h</a>&gt;</span>
<a name="l00037"></a>00037 
<a name="l00038"></a><a class="code" href="kern__descrip_8h.html#e9f148ba55d84268ecb6f8031ab45076">00038</a> <span class="keyword">typedef</span>  <a class="code" href="__types_8h.html#633606f8a0f9a59b300c4947280d816f">__mode_t</a>        <a class="code" href="kern__descrip_8h.html#e9f148ba55d84268ecb6f8031ab45076">mode_t</a>;
<a name="l00039"></a><a class="code" href="kern__descrip_8h.html#e6b499a9e117ca8d1d165c847c872cc0">00039</a> <span class="keyword">typedef</span>  <a class="code" href="__types_8h.html#c1789b464296a1bd0de1734e17d0a146">__nlink_t</a>       <a class="code" href="kern__descrip_8h.html#e6b499a9e117ca8d1d165c847c872cc0">nlink_t</a>;
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="comment">/* command values */</span>
<a name="l00042"></a><a class="code" href="kern__descrip_8h.html#b93a8621587aba90181efd7d3aeea67e">00042</a> <span class="preprocessor">#define F_DUPFD         0               </span><span class="comment">/* duplicate file descriptor */</span>
<a name="l00043"></a><a class="code" href="kern__descrip_8h.html#bc11141031604fb22b8e3a201155cbb3">00043</a> <span class="preprocessor">#define F_GETFD         1               </span><span class="comment">/* get file descriptor flags */</span>
<a name="l00044"></a><a class="code" href="kern__descrip_8h.html#d27227e8d87b844648f07d66da38bb3f">00044</a> <span class="preprocessor">#define F_SETFD         2               </span><span class="comment">/* set file descriptor flags */</span>
<a name="l00045"></a><a class="code" href="kern__descrip_8h.html#025fad21a889c79f02ec53abe3526c32">00045</a> <span class="preprocessor">#define F_GETFL         3               </span><span class="comment">/* get file status flags */</span>
<a name="l00046"></a><a class="code" href="kern__descrip_8h.html#f2939853c650561d3495ed40f68f6249">00046</a> <span class="preprocessor">#define F_SETFL         4               </span><span class="comment">/* set file status flags */</span>
<a name="l00047"></a><a class="code" href="kern__descrip_8h.html#a76959dcf54457a81c4cdf7789ba73e4">00047</a> <span class="preprocessor">#define F_GETOWN        5               </span><span class="comment">/* get SIGIO/SIGURG proc/pgrp */</span>
<a name="l00048"></a><a class="code" href="kern__descrip_8h.html#10e6ca002b56361c5adb1e66a8a4917d">00048</a> <span class="preprocessor">#define F_SETOWN        6               </span><span class="comment">/* set SIGIO/SIGURG proc/pgrp */</span>
<a name="l00049"></a><a class="code" href="kern__descrip_8h.html#2c3005e07f9aedb5d77856d13c3e40c4">00049</a> <span class="preprocessor">#define F_GETLK         7               </span><span class="comment">/* get record locking information */</span>
<a name="l00050"></a><a class="code" href="kern__descrip_8h.html#68a7fc570f2fc271acc5358a6418504e">00050</a> <span class="preprocessor">#define F_SETLK         8               </span><span class="comment">/* set record locking information */</span>
<a name="l00051"></a><a class="code" href="kern__descrip_8h.html#abb866cd0cf7ed3544dfc335e0e360fd">00051</a> <span class="preprocessor">#define F_SETLKW        9               </span><span class="comment">/* F_SETLK; wait if blocked */</span>
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="comment">/* Flag Values */</span>
<a name="l00054"></a><a class="code" href="kern__descrip_8h.html#3252b359359dea1efa45bb87c4499acd">00054</a> <span class="preprocessor">#define FREAD           0x0001</span>
<a name="l00055"></a><a class="code" href="kern__descrip_8h.html#171aed9ee8e3ec0a65cedfb9a2626499">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define FWRITE          0x0002</span>
<a name="l00056"></a><a class="code" href="kern__descrip_8h.html#39d33ce33804efd4d52606d59071c6d8">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define O_NONBLOCK      0x0004          </span><span class="comment">/* no delay */</span>
<a name="l00057"></a><a class="code" href="kern__descrip_8h.html#e036f789407d21f07b211552d67b3214">00057</a> <span class="preprocessor">#define O_APPEND        0x0008          </span><span class="comment">/* set append mode */</span>
<a name="l00058"></a><a class="code" href="kern__descrip_8h.html#8234597f4e8a183770c5f5d94ba8562a">00058</a> <span class="preprocessor">#define O_SHLOCK        0x0010          </span><span class="comment">/* open with shared file lock */</span>
<a name="l00059"></a><a class="code" href="kern__descrip_8h.html#d041d863b473edbd26926d2fad250384">00059</a> <span class="preprocessor">#define O_EXLOCK        0x0020          </span><span class="comment">/* open with exclusive file lock */</span>
<a name="l00060"></a><a class="code" href="kern__descrip_8h.html#c5d0c9848f853f8b026b1211b93f78b1">00060</a> <span class="preprocessor">#define O_ASYNC         0x0040          </span><span class="comment">/* signal pgrp when data ready */</span>
<a name="l00061"></a><a class="code" href="kern__descrip_8h.html#c683f821c3bf7ce4752ff436733cd715">00061</a> <span class="preprocessor">#define O_FSYNC         0x0080          </span><span class="comment">/* synchronous writes */</span>
<a name="l00062"></a><a class="code" href="kern__descrip_8h.html#ae85139bfa94236d126bb1e3b772998f">00062</a> <span class="preprocessor">#define O_SYNC          0x0080          </span><span class="comment">/* POSIX synonym for O_FSYNC */</span>
<a name="l00063"></a><a class="code" href="kern__descrip_8h.html#82d4d551b214905742c9e045185d352a">00063</a> <span class="preprocessor">#define O_NOFOLLOW      0x0100          </span><span class="comment">/* don't follow symlinks */</span>
<a name="l00064"></a><a class="code" href="kern__descrip_8h.html#1cf6b1de1fffedaa1d26b189e9a8d2cc">00064</a> <span class="preprocessor">#define O_CREAT         0x0200          </span><span class="comment">/* create if nonexistent */</span>
<a name="l00065"></a><a class="code" href="kern__descrip_8h.html#d1d67e453fb3031f40f8cd3403773813">00065</a> <span class="preprocessor">#define O_TRUNC         0x0400          </span><span class="comment">/* truncate to zero length */</span>
<a name="l00066"></a><a class="code" href="kern__descrip_8h.html#9f5acfe79fafe14b6694447bd0e9f10b">00066</a> <span class="preprocessor">#define O_EXCL          0x0800          </span><span class="comment">/* error if already exists */</span>
<a name="l00067"></a><a class="code" href="kern__descrip_8h.html#d28ccbf6f0a42c91c160ac5ada0c8429">00067</a> <span class="preprocessor">#define O_DIRECT        0x00010000</span>
<a name="l00068"></a><a class="code" href="kern__descrip_8h.html#7a68c9ffaac7dbcd652225dd7c06a54b">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define O_RDONLY        0x0000          </span><span class="comment">/* open for reading only */</span>
<a name="l00069"></a><a class="code" href="kern__descrip_8h.html#11b644a8526139c4cc1850dac1271ced">00069</a> <span class="preprocessor">#define O_WRONLY        0x0001          </span><span class="comment">/* open for writing only */</span>
<a name="l00070"></a><a class="code" href="kern__descrip_8h.html#bb0586253488ee61072b73557eeb873b">00070</a> <span class="preprocessor">#define O_RDWR          0x0002          </span><span class="comment">/* open for reading and writing */</span>
<a name="l00071"></a><a class="code" href="kern__descrip_8h.html#4dc4d45e07d2abc899bcaf04b2846a87">00071</a> <span class="preprocessor">#define O_ACCMODE       0x0003          </span><span class="comment">/* mask for above modes */</span>
<a name="l00072"></a>00072 
<a name="l00073"></a>00073 
<a name="l00074"></a><a class="code" href="kern__descrip_8h.html#5e502663ed8d9bf975848f5464c3f516">00074</a> <span class="preprocessor">#define FHASLOCK        0x4000          </span><span class="comment">/* descriptor holds advisory lock */</span>
<a name="l00075"></a>00075 
<a name="l00076"></a>00076 
<a name="l00077"></a>00077 <span class="comment">/* F MAPPERS */</span>
<a name="l00078"></a><a class="code" href="kern__descrip_8h.html#a336842f710119bfdab086f34efac63c">00078</a> <span class="preprocessor">#define FAPPEND         O_APPEND        </span><span class="comment">/* kernel/compat */</span>
<a name="l00079"></a><a class="code" href="kern__descrip_8h.html#1c28a43c30721462ad7e40f37051c9ca">00079</a> <span class="preprocessor">#define FASYNC          O_ASYNC         </span><span class="comment">/* kernel/compat */</span>
<a name="l00080"></a><a class="code" href="kern__descrip_8h.html#ee6e522943bfde38729955245588808c">00080</a> <span class="preprocessor">#define FFSYNC          O_FSYNC         </span><span class="comment">/* kernel */</span>
<a name="l00081"></a><a class="code" href="kern__descrip_8h.html#a7660d77d1097779b6b790cb4d89f56c">00081</a> <span class="preprocessor">#define FNONBLOCK       O_NONBLOCK      </span><span class="comment">/* kernel */</span>
<a name="l00082"></a><a class="code" href="kern__descrip_8h.html#71a490d1088a9c5f120f3a59e2a4599f">00082</a> <span class="preprocessor">#define FNDELAY         O_NONBLOCK      </span><span class="comment">/* compat */</span>
<a name="l00083"></a><a class="code" href="kern__descrip_8h.html#63ba256ec18f373817941d5a4d0e2d5e">00083</a> <span class="preprocessor">#define O_NDELAY        O_NONBLOCK      </span><span class="comment">/* compat */</span>
<a name="l00084"></a><a class="code" href="kern__descrip_8h.html#ed6c61cad1ddb572aae570ca0a7cb6f8">00084</a> <span class="preprocessor">#define FPOSIXSHM       O_NOFOLLOW</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span>
<a name="l00086"></a>00086 
<a name="l00087"></a>00087 
<a name="l00088"></a><a class="code" href="kern__descrip_8h.html#e145197023ee3530510eaa80446eef77">00088</a> <span class="preprocessor">#define FCNTLFLAGS      (FAPPEND|FASYNC|FFSYNC|FNONBLOCK|FPOSIXSHM|O_DIRECT)</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span>
<a name="l00090"></a><a class="code" href="kern__descrip_8h.html#3c28c97a69c6ce8f87cac54a7c91f9db">00090</a> <span class="preprocessor">#define FFLAGS(oflags)  ((oflags) + 1)</span>
<a name="l00091"></a><a class="code" href="kern__descrip_8h.html#9b5b463dd687798c592fd23584869cc8">00091</a> <span class="preprocessor"></span><span class="preprocessor">#define OFLAGS(fflags)  ((fflags) - 1)</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span>
<a name="l00093"></a><a class="code" href="structfile.html">00093</a> <span class="keyword">struct </span><a class="code" href="structfile.html">file</a> {
<a name="l00094"></a><a class="code" href="structfile.html#314e5cc77afefbebb7f5e7d197b089ab">00094</a>   <span class="keywordtype">int</span> <a class="code" href="structfile.html#314e5cc77afefbebb7f5e7d197b089ab">f_flag</a>;
<a name="l00095"></a><a class="code" href="structfile.html#48952da96dfce82445b051d594d7bbf6">00095</a>   <span class="keywordtype">char</span> <a class="code" href="structfile.html#48952da96dfce82445b051d594d7bbf6">path</a>[1024];
<a name="l00096"></a><a class="code" href="structfile.html#5a1b356e191a81d71a02560074aacd2a">00096</a>   <a class="code" href="structfileDescriptorStruct.html">fileDescriptor</a> *<a class="code" href="structfile.html#5a1b356e191a81d71a02560074aacd2a">fd</a>;
<a name="l00097"></a>00097   };
<a name="l00098"></a>00098 
<a name="l00099"></a>00099 <span class="comment">/* TEMP */</span>
<a name="l00100"></a><a class="code" href="struct____timespec.html">00100</a> <span class="keyword">struct </span><a class="code" href="struct____timespec.html">__timespec</a> {
<a name="l00101"></a><a class="code" href="struct____timespec.html#6a0ca86f02964fe2543f06311b0ba5fd">00101</a>         <a class="code" href="__types_8h.html#c9fb8d211b39b07df423f5c3238c5f5d">__time_t</a> <a class="code" href="struct____timespec.html#6a0ca86f02964fe2543f06311b0ba5fd">tv_sec</a>;        <span class="comment">/* seconds */</span>
<a name="l00102"></a><a class="code" href="struct____timespec.html#22ce93092f3583d4b7045e8bafb84994">00102</a>         <span class="keywordtype">long</span>    <a class="code" href="struct____timespec.html#22ce93092f3583d4b7045e8bafb84994">tv_nsec</a>;        <span class="comment">/* and nanoseconds */</span>
<a name="l00103"></a>00103 };
<a name="l00104"></a>00104 
<a name="l00105"></a><a class="code" href="structstat.html">00105</a> <span class="keyword">struct </span><a class="code" href="structstat.html">stat</a> {
<a name="l00106"></a><a class="code" href="structstat.html#fb143a1534bf763afd6b353ea3cad102">00106</a>         <a class="code" href="__types_8h.html#45c90547fafad0ff956b06bb5245cdcf">__dev_t</a>   <a class="code" href="structstat.html#fb143a1534bf763afd6b353ea3cad102">st_dev</a>;               <span class="comment">/* inode's device */</span>
<a name="l00107"></a><a class="code" href="structstat.html#9769ed8f0d4c5a9f329c32bc92479d56">00107</a>         <a class="code" href="types_8h.html#73341b7381d39d6e5b80ff9f23379dbd">ino_t</a>     <a class="code" href="structstat.html#9769ed8f0d4c5a9f329c32bc92479d56">st_ino</a>;               <span class="comment">/* inode's number */</span>
<a name="l00108"></a><a class="code" href="structstat.html#5cbdd829011af82ba61e83773bbcbc7d">00108</a>         <a class="code" href="kern__descrip_8h.html#e9f148ba55d84268ecb6f8031ab45076">mode_t</a>    <a class="code" href="structstat.html#5cbdd829011af82ba61e83773bbcbc7d">st_mode</a>;              <span class="comment">/* inode protection mode */</span>
<a name="l00109"></a><a class="code" href="structstat.html#0ed9092fa6c77a3251b9b9a4738ef84f">00109</a>         <a class="code" href="kern__descrip_8h.html#e6b499a9e117ca8d1d165c847c872cc0">nlink_t</a>   <a class="code" href="structstat.html#0ed9092fa6c77a3251b9b9a4738ef84f">st_nlink</a>;             <span class="comment">/* number of hard links */</span>
<a name="l00110"></a><a class="code" href="structstat.html#4a8708a3d18be60ee7b2f06c4cab0c70">00110</a>         <a class="code" href="types_8h.html#1844226d778badcda0a21b28310830ea">uid_t</a>     <a class="code" href="structstat.html#4a8708a3d18be60ee7b2f06c4cab0c70">st_uid</a>;               <span class="comment">/* user ID of the file's owner */</span>
<a name="l00111"></a><a class="code" href="structstat.html#b864f16f436cec370f0ced585d897698">00111</a>         <a class="code" href="types_8h.html#9520fe38856d436aa8c5850ff21839ec">gid_t</a>     <a class="code" href="structstat.html#b864f16f436cec370f0ced585d897698">st_gid</a>;               <span class="comment">/* group ID of the file's group */</span>
<a name="l00112"></a><a class="code" href="structstat.html#19878d2506fccbada6f99ff8351e54fc">00112</a>         <a class="code" href="__types_8h.html#45c90547fafad0ff956b06bb5245cdcf">__dev_t</a>   <a class="code" href="structstat.html#19878d2506fccbada6f99ff8351e54fc">st_rdev</a>;              <span class="comment">/* device type */</span>
<a name="l00113"></a>00113 <span class="preprocessor">#if __BSD_VISIBLE</span>
<a name="l00114"></a>00114 <span class="preprocessor"></span>        <span class="keyword">struct  </span><a class="code" href="structtimespec.html">timespec</a> st_atimespec;  <span class="comment">/* time of last access */</span>
<a name="l00115"></a>00115         <span class="keyword">struct  </span><a class="code" href="structtimespec.html">timespec</a> st_mtimespec;  <span class="comment">/* time of last data modification */</span>
<a name="l00116"></a>00116         <span class="keyword">struct  </span><a class="code" href="structtimespec.html">timespec</a> st_ctimespec;  <span class="comment">/* time of last file status change */</span>
<a name="l00117"></a>00117 <span class="preprocessor">#else</span>
<a name="l00118"></a><a class="code" href="structstat.html#b74d1e7e345e88b9d0fb2688a97cba64">00118</a> <span class="preprocessor"></span>        <a class="code" href="time_8h.html#c8234dac99fc3a2dcc8b7998afd40d49">time_t</a>    <a class="code" href="structstat.html#b74d1e7e345e88b9d0fb2688a97cba64">st_atime</a>;             <span class="comment">/* time of last access */</span>
<a name="l00119"></a><a class="code" href="structstat.html#8e7af7908cc5409963de8c2af581070c">00119</a>         <span class="keywordtype">long</span>      <a class="code" href="structstat.html#8e7af7908cc5409963de8c2af581070c">__st_atimensec</a>;       <span class="comment">/* nsec of last access */</span>
<a name="l00120"></a><a class="code" href="structstat.html#77e235090f8cb6897f1c0ce65689006b">00120</a>         <a class="code" href="time_8h.html#c8234dac99fc3a2dcc8b7998afd40d49">time_t</a>    <a class="code" href="structstat.html#77e235090f8cb6897f1c0ce65689006b">st_mtime</a>;             <span class="comment">/* time of last data modification */</span>
<a name="l00121"></a><a class="code" href="structstat.html#d35fc3a664184cdc617b114cd25f5f67">00121</a>         <span class="keywordtype">long</span>      <a class="code" href="structstat.html#d35fc3a664184cdc617b114cd25f5f67">__st_mtimensec</a>;       <span class="comment">/* nsec of last data modification */</span>
<a name="l00122"></a><a class="code" href="structstat.html#1b4b858db1ebe79c3d6e0fc1ef721024">00122</a>         <a class="code" href="time_8h.html#c8234dac99fc3a2dcc8b7998afd40d49">time_t</a>    <a class="code" href="structstat.html#1b4b858db1ebe79c3d6e0fc1ef721024">st_ctime</a>;             <span class="comment">/* time of last file status change */</span>
<a name="l00123"></a><a class="code" href="structstat.html#68a4709b4a992cd2e1dfdfb630bfe6cb">00123</a>         <span class="keywordtype">long</span>      <a class="code" href="structstat.html#68a4709b4a992cd2e1dfdfb630bfe6cb">__st_ctimensec</a>;       <span class="comment">/* nsec of last file status change */</span>
<a name="l00124"></a>00124 <span class="preprocessor">#endif</span>
<a name="l00125"></a><a class="code" href="structstat.html#040e19c8b9766f841fde8786ce9297bf">00125</a> <span class="preprocessor"></span>        <a class="code" href="types_8h.html#fa178be408981cc5edd64227b6332fc6">off_t</a>     <a class="code" href="structstat.html#040e19c8b9766f841fde8786ce9297bf">st_size</a>;              <span class="comment">/* file size, in bytes */</span>
<a name="l00126"></a><a class="code" href="structstat.html#42dd716b2f9234f961d949fc9500eefb">00126</a>         <a class="code" href="types_8h.html#7da4753cd6945c5ad91f41c00b474b3f">blkcnt_t</a> <a class="code" href="structstat.html#42dd716b2f9234f961d949fc9500eefb">st_blocks</a>;             <span class="comment">/* blocks allocated for file */</span>
<a name="l00127"></a><a class="code" href="structstat.html#38d474e1ae3cf6fbdde89ac3c3e308f1">00127</a>         <a class="code" href="types_8h.html#cac8eacbbc225743e88f8e5e8bf93581">blksize_t</a> <a class="code" href="structstat.html#38d474e1ae3cf6fbdde89ac3c3e308f1">st_blksize</a>;           <span class="comment">/* optimal blocksize for I/O */</span>
<a name="l00128"></a><a class="code" href="structstat.html#34bffc74ecab7594299064e953e5b20b">00128</a>         <a class="code" href="types_8h.html#ee689fd681d6f52c910a90af380155af">fflags_t</a>  <a class="code" href="structstat.html#34bffc74ecab7594299064e953e5b20b">st_flags</a>;             <span class="comment">/* user defined flags for file */</span>
<a name="l00129"></a><a class="code" href="structstat.html#96a89f0335e054637efa0eb7487e0682">00129</a>         <a class="code" href="__types_8h.html#caa96aed3d7fddac490800f166c2af02">__uint32_t</a> <a class="code" href="structstat.html#96a89f0335e054637efa0eb7487e0682">st_gen</a>;              <span class="comment">/* file generation number */</span>
<a name="l00130"></a><a class="code" href="structstat.html#1823e5f33a019b1bdeb7a000d0d202fd">00130</a>         <a class="code" href="__types_8h.html#479ed1d22a5d4badec9d1fa7246d05bf">__int32_t</a> <a class="code" href="structstat.html#1823e5f33a019b1bdeb7a000d0d202fd">st_lspare</a>;
<a name="l00131"></a>00131 <span class="preprocessor">#if __BSD_VISIBLE</span>
<a name="l00132"></a>00132 <span class="preprocessor"></span>        <span class="keyword">struct </span><a class="code" href="structtimespec.html">timespec</a> st_birthtimespec; <span class="comment">/* time of file creation */</span>
<a name="l00133"></a>00133         <span class="comment">/*</span>
<a name="l00134"></a>00134 <span class="comment">         * Explicitly pad st_birthtimespec to 16 bytes so that the size of</span>
<a name="l00135"></a>00135 <span class="comment">         * struct stat is backwards compatible.  We use bitfields instead</span>
<a name="l00136"></a>00136 <span class="comment">         * of an array of chars so that this doesn't require a C99 compiler</span>
<a name="l00137"></a>00137 <span class="comment">         * to compile if the size of the padding is 0.  We use 2 bitfields</span>
<a name="l00138"></a>00138 <span class="comment">         * to cover up to 64 bits on 32-bit machines.  We assume that</span>
<a name="l00139"></a>00139 <span class="comment">         * CHAR_BIT is 8...</span>
<a name="l00140"></a>00140 <span class="comment">         */</span>
<a name="l00141"></a>00141         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> :(8 / 2) * (16 - (<span class="keywordtype">int</span>)<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="structtimespec.html">timespec</a>));
<a name="l00142"></a>00142         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> :(8 / 2) * (16 - (<span class="keywordtype">int</span>)<span class="keyword">sizeof</span>(<span class="keyword">struct</span> timespec));
<a name="l00143"></a>00143 <span class="preprocessor">#else</span>
<a name="l00144"></a><a class="code" href="structstat.html#a7c8627ac57ce82bccc0b261d56a25e5">00144</a> <span class="preprocessor"></span>        <a class="code" href="time_8h.html#c8234dac99fc3a2dcc8b7998afd40d49">time_t</a>    <a class="code" href="structstat.html#a7c8627ac57ce82bccc0b261d56a25e5">st_birthtime</a>;         <span class="comment">/* time of file creation */</span>
<a name="l00145"></a><a class="code" href="structstat.html#0e919848cf78f7aacb30a7fb13e81acc">00145</a>         <span class="keywordtype">long</span>      <a class="code" href="structstat.html#0e919848cf78f7aacb30a7fb13e81acc">st_birthtimensec</a>;     <span class="comment">/* nsec of file creation */</span>
<a name="l00146"></a><a class="code" href="structstat.html#eadf0ca7bfa140ac64fa582f7765066b">00146</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> :(8 / 2) * (16 - (<span class="keywordtype">int</span>)<span class="keyword">sizeof</span>(<span class="keyword">struct</span> <a class="code" href="struct____timespec.html">__timespec</a>));
<a name="l00147"></a>00147         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> :(8 / 2) * (16 - (<span class="keywordtype">int</span>)<span class="keyword">sizeof</span>(<span class="keyword">struct</span> __timespec));
<a name="l00148"></a>00148 <span class="preprocessor">#endif</span>
<a name="l00149"></a>00149 <span class="preprocessor"></span>};
<a name="l00150"></a>00150 
<a name="l00151"></a>00151 
<a name="l00152"></a>00152 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#791e8d3090dc6573a9faa0a64ec696d3">fcntl</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *, <span class="keyword">struct</span> <a class="code" href="structfcntl__args.html">fcntl_args</a> *);
<a name="l00153"></a>00153 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#39808045c1781393e845fa51fd2db6e0">close</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *,<span class="keyword">struct</span> <a class="code" href="structclose__args.html">close_args</a> *);
<a name="l00154"></a>00154 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#434fb15226182b0ee879a5afe9a8c190">falloc</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *, <span class="keyword">struct</span> <a class="code" href="structfile.html">file</a> **, <span class="keywordtype">int</span> *);
<a name="l00155"></a>00155 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#ec82fd17dad5642277af6dc43f9893c5">getdtablesize</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *, <span class="keyword">struct</span> <a class="code" href="structgetdtablesize__args.html">getdtablesize_args</a> *);
<a name="l00156"></a>00156 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#8216f802387d3e6eded7f31568d741ff">fstat</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *, <span class="keyword">struct</span> <a class="code" href="structfstat__args.html">fstat_args</a> *);
<a name="l00157"></a>00157 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#dd9e21938f9a168f9be49ddbfe03fed1">ioctl</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *, <span class="keyword">struct</span> <a class="code" href="structioctl__args.html">ioctl_args</a> *);
<a name="l00158"></a>00158 <span class="keywordtype">int</span> <a class="code" href="kern__descrip_8h.html#14e228d6e5391a882d3b20ff2466b2ac">getfd</a>(<span class="keyword">struct</span> <a class="code" href="structthread.html">thread</a> *td,<span class="keyword">struct</span> <a class="code" href="structfile.html">file</a> **fp,<span class="keywordtype">int</span> fd);
<a name="l00159"></a>00159 
<a name="l00160"></a>00160 
<a name="l00161"></a>00161 <span class="preprocessor">#endif</span>
<a name="l00162"></a>00162 <span class="preprocessor"></span>
<a name="l00163"></a>00163 <span class="comment">/***</span>
<a name="l00164"></a>00164 <span class="comment"> END</span>
<a name="l00165"></a>00165 <span class="comment"> ***/</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 09:59:41 2006 for UbixOS V2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>