<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="./robodoc.css" type="text/css" />
<title>./src/inotify.ads</title>
<!-- Source: ./src/inotify.ads -->
<!-- Generated with ROBODoc Version 4.99.43 (Feb  8 2020) -->
</head>
<body>
<div id="logo">
<a name="robo_top_of_doc">Hunter v1.6 code documentation</a>
</div> <!-- logo -->
<div id="navigation">
<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
<a class="menuitem" href="./sources.html#top">Source files</a>
<a class="menuitem" href="./index.html#top">Index</a>
<a class="menuitem" href="./robo_tasks.html#top">Tasks</a>
<a class="menuitem" href="./robo_constants.html#top">Constants</a>
<a class="menuitem" href="./robo_exceptions.html#top">Exceptions</a>
<a class="menuitem" href="./robo_subprograms.html#top">Subprograms</a>
<a class="menuitem" href="./robo_packages.html#top">Packages</a>
<a class="menuitem" href="./robo_commands.html#top">Commands</a>
<a class="menuitem" href="./robo_records.html#top">Records</a>
<a class="menuitem" href="./robo_types.html#top">Types</a>
<a class="menuitem" href="./robo_variables.html#top">Variables</a>
</div> <!-- navigation -->
<div id="content">
<h3>TABLE OF CONTENTS</h3>
<ul>
<li>1. <a href="#robo16">Inotify/Inotify</a></li>
<ul>
<li>1.1. <a href="#robo55">Inotify/Inotify.Events_Container</a></li>
<li>1.2. <a href="#robo56">Inotify/Inotify.Inotify_Events</a></li>
<li>1.3. <a href="./inotify_adb.html#robo57">Inotify/Inotify.Watches_Container</a></li>
<li>1.4. <a href="#robo75">Inotify/Inotify.Event_Data</a></li>
<li>1.5. <a href="./inotify_adb.html#robo76">Inotify/Inotify.Watch_Data</a></li>
<li>1.6. <a href="./inotify_adb.html#robo80">Inotify/Empty_Watch</a></li>
<li>1.7. <a href="#robo81">Inotify/Inotify.Accesed_Event</a></li>
<li>1.8. <a href="#robo82">Inotify/Inotify.Empty_Event_Data</a></li>
<li>1.9. <a href="#robo97">Inotify/Inotify.Events_List</a></li>
<li>1.10. <a href="./inotify_adb.html#robo98">Inotify/Inotify.Instance</a></li>
<li>1.11. <a href="#robo99">Inotify/Inotify.Temporary_Stop</a></li>
<li>1.12. <a href="./inotify_adb.html#robo100">Inotify/Inotify.Watches</a></li>
<li>1.13. <a href="./inotify_adb.html#robo154">Inotify/Inotify_Error</a></li>
<li>1.14. <a href="./inotify_adb.html#robo196">Inotify/Inotify.Add_Watch</a></li>
<li>1.15. <a href="#robo197">Inotify/Inotify.Add_Watches</a></li>
<li>1.16. <a href="./inotify_adb.html#robo198">Inotify/Inotify.Get_Instance</a></li>
<li>1.17. <a href="#robo199">Inotify/Inotify.Inotify_Close</a></li>
<li>1.18. <a href="#robo200">Inotify/Inotify.Inotify_Init</a></li>
<li>1.19. <a href="#robo201">Inotify/Inotify.Inotify_Read</a></li>
<li>1.20. <a href="./inotify_adb.html#robo202">Inotify/Inotify.Inotify_Rm_Watch_C</a></li>
<li>1.21. <a href="#robo203">Inotify/Inotify.Remove_Watches</a></li>
<li>1.22. <a href="./inotify_adb.html#robo204">Inotify/Inotify.Watches_List</a></li>
</ul>
</ul>
<hr />
<a name="Inotify2fInotify"></a>
<a name="robo16"></a><h2>Inotify/Inotify [ Packages ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./robo_packages.html#robo_top_of_doc">Packages</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Small Ada binding to kernel inotify
</pre>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="keyword">package</span> <strong>Inotify</strong> <span class="keyword">is</span>
</pre>

<hr />
<a name="Inotify2fInotify2eEvents5fContainer"></a>
<a name="robo55"></a><h2>Inotify/Inotify.Events_Container [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used to store data about inotify events
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">package</span> Events_Container <span class="keyword">is</span> <span class="keyword">new</span> Vectors
     <span class="sign">(</span>Index_Type <span class="sign">=</span><span class="sign">&gt;</span> Positive<span class="sign">,</span> Element_Type <span class="sign">=</span><span class="sign">&gt;</span> Event_Data<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eInotify5fEvents"></a>
<a name="robo56"></a><h2>Inotify/Inotify.Inotify_Events [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Types of inotify events and values for them
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">type</span> Inotify_Events <span class="keyword">is</span>
     <span class="sign">(</span>ACCESSED<span class="sign">,</span> MODIFIED<span class="sign">,</span> METADATA<span class="sign">,</span> CLOSED_WRITE<span class="sign">,</span> CLOSED_NO_WRITE<span class="sign">,</span> OPENED<span class="sign">,</span>
      MOVED_FROM<span class="sign">,</span> MOVED_TO<span class="sign">,</span> CREATED<span class="sign">,</span> DELETED<span class="sign">,</span> DELETED_SELF<span class="sign">,</span> MOVED_SELF<span class="sign">,</span>
      UNMOUNTED_FILESYSTEM<span class="sign">)</span><span class="sign">;</span>

   <span class="keyword">for</span> Inotify_Events <span class="keyword">use</span>
     <span class="sign">(</span>ACCESSED <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0001<span class="sign">#</span><span class="sign">,</span> MODIFIED <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0002<span class="sign">#</span><span class="sign">,</span> METADATA <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0004<span class="sign">#</span><span class="sign">,</span>
      CLOSED_WRITE <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0008<span class="sign">#</span><span class="sign">,</span> CLOSED_NO_WRITE <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0010<span class="sign">#</span><span class="sign">,</span>
      OPENED <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0020<span class="sign">#</span><span class="sign">,</span> MOVED_FROM <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0040<span class="sign">#</span><span class="sign">,</span> MOVED_TO <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0080<span class="sign">#</span><span class="sign">,</span>
      CREATED <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0100<span class="sign">#</span><span class="sign">,</span> DELETED <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0200<span class="sign">#</span><span class="sign">,</span> DELETED_SELF <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0400<span class="sign">#</span><span class="sign">,</span>
      MOVED_SELF <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>0800<span class="sign">#</span><span class="sign">,</span> UNMOUNTED_FILESYSTEM <span class="sign">=</span><span class="sign">&gt;</span> 16<span class="sign">#</span>2000<span class="sign">#</span><span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eEvent5fData"></a>
<a name="robo75"></a><h2>Inotify/Inotify.Event_Data [ Records ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_records.html#robo_top_of_doc">Records</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Data structure used to store information about inotify event
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">type</span> Event_Data <span class="keyword">is</span> <span class="keyword">record</span>
      Event<span class="sign">:</span> Inotify_Events<span class="sign">;</span>
      Target<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
      Path<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
   <span class="keyword">end</span> <span class="keyword">record</span><span class="sign">;</span>
</pre>
<p class="item_name">OPTIONS</p>
<pre> Event  - inotify event
 Target - target file or directory
 Path   - path in which event occurs
</pre>

<hr />
<a name="Inotify2fInotify2eAccesed5fEvent"></a>
<a name="robo81"></a><h2>Inotify/Inotify.Accesed_Event [ Constants ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_constants.html#robo_top_of_doc">Constants</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Default <a href="#robo16">Inotify</a> event
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Accessed_Event<span class="sign">:</span> <span class="keyword">constant</span> Inotify_Events <span class="sign">:</span><span class="sign">=</span> ACCESSED<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eEmpty5fEvent5fData"></a>
<a name="robo82"></a><h2>Inotify/Inotify.Empty_Event_Data [ Constants ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_constants.html#robo_top_of_doc">Constants</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Empty event data record
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Empty_Event_Data<span class="sign">:</span> <span class="keyword">constant</span> Event_Data <span class="sign">:</span><span class="sign">=</span> Event_Data<span class="squote">'<span class="sign">(</span>others =<span class="sign">&gt;</span> <span class="sign">&lt;&gt;);</span>
</pre>

<hr />
<a name="Inotify2fInotify2eEvents5fList"></a>
<a name="robo97"></a><h2>Inotify/Inotify.Events_List [ Variables ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_variables.html#robo_top_of_doc">Variables</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> List of all caught inotify events
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Events_List<span class="sign">:</span> Events_Container<span class="sign">.</span>Vector<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eTemporary5fStop"></a>
<a name="robo99"></a><h2>Inotify/Inotify.Temporary_Stop [ Variables ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_variables.html#robo_top_of_doc">Variables</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> If true, temporary stop refreshing directory listing (mainly in trash).
 Default is false
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   Temporary_Stop<span class="sign">:</span> Boolean <span class="sign">:</span><span class="sign">=</span> False<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eAdd5fWatches"></a>
<a name="robo197"></a><h2>Inotify/Inotify.Add_Watches [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Add inotify watches for selected path and all subdirectories inside it,
 but not deeper.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Add_Watches<span class="sign">(</span>Path<span class="sign">:</span> String<span class="sign">)</span><span class="sign">;</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> Path - Full path to which inotify watches will be added
</pre>

<hr />
<a name="Inotify2fInotify2eInotify5fClose"></a>
<a name="robo199"></a><h2>Inotify/Inotify.Inotify_Close [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Close inotify instance
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Inotify_Close<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eInotify5fInit"></a>
<a name="robo200"></a><h2>Inotify/Inotify.Inotify_Init [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Start inotify instance
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Inotify_Init<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eInotify5fRead"></a>
<a name="robo201"></a><h2>Inotify/Inotify.Inotify_Read [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Read all caught and waiting inotify events and store them in EventsList.
 If need, remove and add new watches also.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Inotify_Read<span class="sign">;</span>
</pre>

<hr />
<a name="Inotify2fInotify2eRemove5fWatches"></a>
<a name="robo203"></a><h2>Inotify/Inotify.Remove_Watches [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo16">Inotify</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Remove all inotify watches
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Remove_Watches<span class="sign">;</span>
</pre>

</div> <!-- content -->
<div id="footer">
<p>Generated from ./src/inotify.ads with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.43 on Sun Aug 08 2021 07:39:39
</p>
</div> <!-- footer -->
</body>
</html>

