1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<refentry id="VisualOS-IO-Interface">
<refmeta>
<refentrytitle>IO Interface</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>VISUALOS Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>IO Interface</refname><refpurpose>IO interface to the other subsystems.</refpurpose>
</refnamediv>
<refsynopsisdiv><title>Synopsis</title>
<synopsis>
void (<link linkend="block-ready-callback-t">*block_ready_callback_t</link>) (<link linkend="gint">gint</link> block);
<link linkend="gint">gint</link> <link linkend="io-register-block-ready">io_register_block_ready</link> (<link linkend="block-ready-callback-t">block_ready_callback_t</link> func);
void <link linkend="io-request-block">io_request_block</link> (<link linkend="gint">gint</link> block);
void <link linkend="io-request-swap-block">io_request_swap_block</link> (<link linkend="gint">gint</link> block);
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
This functions allow the other subsystems to interact, througth the messaging
service, with the I/O subsystem.
</para>
</refsect1>
<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="block-ready-callback-t">block_ready_callback_t ()</title>
<programlisting>void (*block_ready_callback_t) (<link linkend="gint">gint</link> block);</programlisting>
<para>
Function pointer type for the callback used on <parameter>io_register_block_ready</parameter>.</para>
<para>
Function pointer type for the callback used on <parameter>io_register_block_ready</parameter>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>block</parameter> :</entry>
<entry> block number of the fulfilled IO access.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="io-register-block-ready">io_register_block_ready ()</title>
<programlisting><link linkend="gint">gint</link> io_register_block_ready (<link linkend="block-ready-callback-t">block_ready_callback_t</link> func);</programlisting>
<para>
Instructs the IO subsystem to call <parameter>func</parameter> when a block access is finished.</para>
<para>
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>func</parameter> :</entry>
<entry> function to be called when a requested block access is finished.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> nothing important.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="io-request-block">io_request_block ()</title>
<programlisting>void io_request_block (<link linkend="gint">gint</link> block);</programlisting>
<para>
Instructs the IO subsystem to accesses <parameter>block</parameter> from the data area.</para>
<para>
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>block</parameter> :</entry>
<entry> data block to be accessed.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="io-request-swap-block">io_request_swap_block ()</title>
<programlisting>void io_request_swap_block (<link linkend="gint">gint</link> block);</programlisting>
<para>
Instructs the IO subsystem to accesses <parameter>block</parameter> from the swap area.</para>
<para>
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>block</parameter> :</entry>
<entry> swap block to be accessed.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
</refsect1>
</refentry>
|