<!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/sysproto.h File Reference</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 Page</span></a></li>
<li><a href="classes.html"><span>Data 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> <u>S</u>earch for </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 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> » <a class="el" href="dir_832905b1f7f5feaf61a306b40c0ac817.html">sys</a> » <a class="el" href="dir_caf4200c438ae9601464168e21e8e4d8.html">include</a> » <a class="el" href="dir_d26f37d6397a53073c964316867e8d67.html">sys</a></div>
<h1>sysproto.h File Reference</h1><code>#include <<a class="el" href="signal_8h-source.html">sys/signal.h</a>></code><br>
<code>#include <<a class="el" href="thread_8h-source.html">sys/thread.h</a>></code><br>
<p>
<a href="sysproto_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structclose__args.html">close_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structfcntl__args.html">fcntl_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structfstat__args.html">fstat_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structgetdtablesize__args.html">getdtablesize_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structgetgid__args.html">getgid_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structgetpid__args.html">getpid_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structgettimeofday__args.html">gettimeofday_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structgetuid__args.html">getuid_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structioctl__args.html">ioctl_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structissetugid__args.html">issetugid_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmmap__args.html">mmap_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structmunmap__args.html">munmap_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structobreak__args.html">obreak_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structopen__args.html">open_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structpipe__args.html">pipe_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structread__args.html">read_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structreadlink__args.html">readlink_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsetitimer__args.html">setitimer_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigaction__args.html">sigaction_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsigprocmask__args.html">sigprocmask_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structsysctl__args.html">sysctl_args</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structwrite__args.html">write_args</a></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#6af39d7908a107066bbd16c69a73d8e5">PAD_</a>(t)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#121b15598871bbd1dc2067855e25c1d4">PADL_</a>(t) 0</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#a46e33ea9096ba0cbafd88a6899b98b6">PADR_</a>(t) PAD_(t)</td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#bd887f2b4a8afbb86de77d05d77856db">register_t</a></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#b913b237bff6f29fa58c01d2d0fc7088">setitimer</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structsetitimer__args.html">setitimer_args</a> *uap)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">place holder for now functionality to be added later <a href="#b913b237bff6f29fa58c01d2d0fc7088"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#3ca4e48103cbadae2952d277d03687be">sys_open</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structopen__args.html">open_args</a> *uap)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">entry point for open syscall <a href="#3ca4e48103cbadae2952d277d03687be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="sysproto_8h.html#14173c973cb6d92a0e2ff34ee072f4d3">sys_write</a> (struct <a class="el" href="structthread.html">thread</a> *td, struct <a class="el" href="structwrite__args.html">write_args</a> *uap)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="6af39d7908a107066bbd16c69a73d8e5"></a><!-- doxytag: member="sysproto.h::PAD_" ref="6af39d7908a107066bbd16c69a73d8e5" args="(t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PAD_ </td>
<td>(</td>
<td class="paramtype">t </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Value:</b><div class="fragment"><pre class="fragment">(<span class="keyword">sizeof</span>(<a class="code" href="sysproto_8h.html#bd887f2b4a8afbb86de77d05d77856db">register_t</a>) <= <span class="keyword">sizeof</span>(t) ? \
0 : <span class="keyword">sizeof</span>(<a class="code" href="sysproto_8h.html#bd887f2b4a8afbb86de77d05d77856db">register_t</a>) - <span class="keyword">sizeof</span>(t))
</pre></div>
<p>
Definition at line <a class="el" href="sysproto_8h-source.html#l00038">38</a> of file <a class="el" href="sysproto_8h-source.html">sysproto.h</a>.
</div>
</div><p>
<a class="anchor" name="121b15598871bbd1dc2067855e25c1d4"></a><!-- doxytag: member="sysproto.h::PADL_" ref="121b15598871bbd1dc2067855e25c1d4" args="(t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PADL_ </td>
<td>(</td>
<td class="paramtype">t </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> 0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="sysproto_8h-source.html#l00042">42</a> of file <a class="el" href="sysproto_8h-source.html">sysproto.h</a>.
</div>
</div><p>
<a class="anchor" name="a46e33ea9096ba0cbafd88a6899b98b6"></a><!-- doxytag: member="sysproto.h::PADR_" ref="a46e33ea9096ba0cbafd88a6899b98b6" args="(t)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define PADR_ </td>
<td>(</td>
<td class="paramtype">t </td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"> PAD_(t)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="sysproto_8h-source.html#l00043">43</a> of file <a class="el" href="sysproto_8h-source.html">sysproto.h</a>.
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="bd887f2b4a8afbb86de77d05d77856db"></a><!-- doxytag: member="sysproto.h::register_t" ref="bd887f2b4a8afbb86de77d05d77856db" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef int <a class="el" href="sysproto_8h.html#bd887f2b4a8afbb86de77d05d77856db">register_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="sysproto_8h-source.html#l00036">36</a> of file <a class="el" href="sysproto_8h-source.html">sysproto.h</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="b913b237bff6f29fa58c01d2d0fc7088"></a><!-- doxytag: member="sysproto.h::setitimer" ref="b913b237bff6f29fa58c01d2d0fc7088" args="(struct thread *td, struct setitimer_args *uap)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int setitimer </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td>
<td class="paramname"> <em>td</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structsetitimer__args.html">setitimer_args</a> * </td>
<td class="paramname"> <em>uap</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
place holder for now functionality to be added later
<p>
<p>
Definition at line <a class="el" href="gen__calls_8c-source.html#l00149">149</a> of file <a class="el" href="gen__calls_8c-source.html">gen_calls.c</a>.
</div>
</div><p>
<a class="anchor" name="3ca4e48103cbadae2952d277d03687be"></a><!-- doxytag: member="sysproto.h::sys_open" ref="3ca4e48103cbadae2952d277d03687be" args="(struct thread *td, struct open_args *uap)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int sys_open </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td>
<td class="paramname"> <em>td</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structopen__args.html">open_args</a> * </td>
<td class="paramname"> <em>uap</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
entry point for open syscall
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>*td</em> </td><td>pointer to callers thread </td></tr>
<tr><td valign="top"></td><td valign="top"><em>*uap</em> </td><td>pointer to user space arguements for call</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>index to file descriptor </dd></dl>
<p>
Definition at line <a class="el" href="vfs_8c-source.html#l00148">148</a> of file <a class="el" href="vfs_8c-source.html">vfs.c</a>.
<p>
References <a class="el" href="kern__descrip_8c-source.html#l00067">falloc()</a>, <a class="el" href="kern__descrip_8h-source.html#l00096">file::fd</a>, <a class="el" href="file_8c-source.html#l00274">fopen()</a>, <a class="el" href="kern__descrip_8h-source.html#l00095">file::path</a>, <a class="el" href="sysproto_8h-source.html#l00057">open_args::path</a>, <a class="el" href="strcpy_8S-source.html#l00003">strcpy</a>, and <a class="el" href="thread_8h-source.html#l00038">thread::td_retval</a>.
</div>
</div><p>
<a class="anchor" name="14173c973cb6d92a0e2ff34ee072f4d3"></a><!-- doxytag: member="sysproto.h::sys_write" ref="14173c973cb6d92a0e2ff34ee072f4d3" args="(struct thread *td, struct write_args *uap)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int sys_write </td>
<td>(</td>
<td class="paramtype">struct <a class="el" href="structthread.html">thread</a> * </td>
<td class="paramname"> <em>td</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structwrite__args.html">write_args</a> * </td>
<td class="paramname"> <em>uap</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="gen__calls_8c-source.html#l00067">67</a> of file <a class="el" href="gen__calls_8c-source.html">gen_calls.c</a>.
<p>
References <a class="el" href="sysproto_8h-source.html#l00052">write_args::buf</a>, <a class="el" href="shell_8c-source.html#l00047">buffer</a>, <a class="el" href="sysproto_8h-source.html#l00051">write_args::fd</a>, <a class="el" href="kmalloc_8c-source.html#l00351">kfree()</a>, <a class="el" href="kmalloc_8c-source.html#l00247">kmalloc()</a>, <a class="el" href="kprintf_8c-source.html#l00038">kprintf()</a>, <a class="el" href="lib_2string_8h.html#e33b18edb618c656b9b795b9fce2316c">memcpy()</a>, <a class="el" href="sysproto_8h-source.html#l00053">write_args::nbyte</a>, <a class="el" href="sched_8h-source.html#l00067">taskStruct::td</a>, and <a class="el" href="thread_8h-source.html#l00038">thread::td_retval</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Dec 12 08:52:11 2006 for UbixOS V2 by
<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>